*{box-sizing:border-box}html,body{margin:0;width:100%;height:100%}body{font-family:Arial,Helvetica,sans-serif}.v4{overflow:hidden;background:#eef2ef}.layout{width:100vw;height:100vh;position:relative}.logo{display:grid;place-items:center;border:2px solid #d5a943;border-radius:18px;font-size:3vw;background:#fff;color:#075b39}.brand{display:flex;align-items:center;gap:1vw}.brand h1{margin:0;font-size:2.5vw;color:#07562f}.brand p{margin:.4vh 0 0;font-size:1.05vw;color:#54645c}.datetime{display:flex;align-items:center;gap:1.3vw}.datetime>div:last-child{display:flex;flex-direction:column;gap:.55vh;font-size:1vw}.clock{font-weight:800;color:#07562f;font-size:4.7vw;line-height:1}.prayers h2,.right h2,.clock-right h2,.mag-ann h2,.mag-agenda h2,.split-side h2{margin:0;padding:1vh 1vw;font-size:1.1vw;background:#08713f;color:#fff;border-radius:12px 12px 0 0}.prayer-item{position:relative;display:grid;grid-template-columns:2.1vw 1fr auto;align-items:center;gap:.5vw;padding:.65vh .7vw;border-bottom:1px solid #d8ddd9;background:#fff;color:#17201c}.prayer-item .p-icon{width:2vw;height:2vw;border-radius:8px;background:#0b7042;color:#fff;display:grid;place-items:center;font-size:.85vw}.prayer-item .p-name{font-weight:700;font-size:1vw}.prayer-item strong{font-size:1.3vw}.now-tag{display:none}.prayer-item.active{background:linear-gradient(90deg,#0b7b3d,#075f32);color:#fff}.prayer-item.active .now-tag{display:block;position:absolute;left:3.3vw;bottom:.2vh;font-size:.55vw;color:#ffe076}.right section,.clock-right section,.mag-ann,.mag-agenda,.mag-infaq,.split-side section{background:#fff;border:1px solid #d8b55b;border-radius:14px;overflow:hidden}.announce-item{display:grid;grid-template-columns:1.7vw 1fr;gap:.55vw;padding:.65vh .8vw;border-bottom:1px dashed #bbc3bf}.announce-item>span{width:1.45vw;height:1.45vw;background:#0b7042;color:#fff;border-radius:50%;display:grid;place-items:center;font-weight:700;font-size:.7vw}.announce-item b,.agenda-item b{font-size:.85vw}.announce-item p,.agenda-item p{margin:.18vh 0 0;font-size:.72vw;line-height:1.2}.agenda-item{display:grid;grid-template-columns:2.7vw 1fr;gap:.55vw;padding:.55vh .7vw;border-bottom:1px dashed #bbc3bf}.agenda-item time{background:#08713f;color:#fff;border-radius:8px;text-align:center;padding:.25vh .2vw}.agenda-item time b{display:block;font-size:.9vw}.agenda-item time small{font-size:.55vw}.infaq p{white-space:pre-line;margin:.7vh .9vw;font-size:.75vw;line-height:1.3}.count{background:#fffef8ee;border:2px solid #d6a83d;border-radius:28px;padding:1.1vh 2vw;text-align:center;box-shadow:0 12px 34px #0004}.count small,.count span{display:block}.count small{font-weight:700;color:#07562f;font-size:1.25vw}.count strong{display:block;color:#07562f;font-size:3.4vw;line-height:1.1}.count span{font-size:.68vw;color:#555}.ticker{display:grid;grid-template-columns:auto 1fr;align-items:center;background:#076234;color:#fff;border-top:2px solid #d4aa44}.ticker>b{padding:0 1.2vw;color:#f5d46e;font-size:.9vw;white-space:nowrap}.ticker>div{overflow:hidden;white-space:nowrap}.ticker>div span{display:inline-block;padding-left:100%;animation:scroll 30s linear infinite;font-size:.85vw}@keyframes scroll{to{transform:translateX(-100%)}}
/* 1 CLASSIC SIDEBAR */
.classic-layout{display:grid;grid-template-columns:23vw 1fr 23vw;grid-template-rows:16vh 1fr 7vh;background:#f8f5ed}.classic-layout .header{grid-column:1/4;display:flex;justify-content:space-between;align-items:center;padding:1.4vh 2vw;background:#fff;border-bottom:1px solid #d8b55b}.classic-layout .header .logo{width:6vw;height:10vh}.classic-layout .prayers{margin:1.4vh 1vw;background:#fff;border:1px solid #d8b55b;border-radius:16px;overflow:hidden}.classic-layout .prayer-item{height:8.5vh}.classic-layout .shaf{padding:1.2vh 1vw;background:#f8f3e6;display:flex;flex-direction:column}.classic-layout .shaf b{font-size:.9vw}.classic-layout .shaf span{font-size:.7vw;color:#8e7028}.classic-layout .hero{margin:1.4vh 0;background-size:cover;background-position:center;border-radius:14px;position:relative;overflow:hidden}.classic-layout .hero:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,transparent 55%,#001c1666)}.classic-layout .count{position:absolute;left:50%;bottom:4vh;transform:translateX(-50%);z-index:2;min-width:24vw}.classic-layout .right{padding:1.4vh 1vw;display:grid;grid-template-rows:1fr 1fr auto;gap:1vh}.classic-layout .ticker{grid-column:1/4}
/* 2 GLASS FULLSCREEN */
.glass-layout{background-image:linear-gradient(180deg,#041d2dc7,#041d2d82),var(--hero);background-size:cover;background-position:center;color:#fff}.glass-head{position:absolute;left:4vw;right:4vw;top:3vh;height:14vh;border:1px solid #d5b35f80;border-radius:20px;background:#06263bc9;backdrop-filter:blur(9px);display:flex;justify-content:space-between;align-items:center;padding:1.2vh 2vw}.glass-layout .brand h1,.glass-layout .brand p,.glass-layout .clock{color:#fff}.glass-layout .brand p,.glass-layout #hijri{color:#e6bd58}.glass-layout .logo{width:6vw;height:10vh;background:#093147aa;color:#fff}.glass-count{position:absolute;left:38vw;top:26vh;width:25vw;background:#08273bc9;color:#fff;border:1px solid #dfbd6d;border-radius:26px;padding:3vh 2vw;text-align:center;backdrop-filter:blur(10px)}.glass-count small{font-size:1.5vw}.glass-count strong{font-size:4.6vw;display:block;color:#f1c660}.glass-count span{font-size:.75vw}.glass-info{position:absolute;right:4vw;top:20vh;width:22vw;bottom:21vh;display:grid;grid-template-rows:1fr auto;gap:1.2vh}.glass-info>div{background:#05283bd6;border:1px solid #d4aa55;border-radius:18px;overflow:hidden;backdrop-filter:blur(8px)}.glass-info h2{margin:0;padding:1vh 1vw;font-size:1vw}.glass-info .announce-item{background:#062b3edb;color:#fff;border-color:#ffffff2d}.glass-info .infaq p{color:#fff}.glass-prayers{position:absolute;left:4vw;bottom:9vh;width:64vw;height:12vh;display:grid;grid-template-columns:repeat(7,1fr);background:#06283bdc;border:1px solid #d4aa55;border-radius:16px;overflow:hidden;backdrop-filter:blur(8px)}.glass-prayers .prayer-item{grid-template-columns:1fr;grid-template-rows:auto auto auto;text-align:center;justify-items:center;background:transparent;color:#fff;border-right:1px solid #ffffff2a}.glass-prayers .p-icon{width:2.2vw;height:2.2vw}.glass-prayers .prayer-item.active{background:#0b7b3dbb}.glass-prayers .now-tag{display:none!important}.glass-ticker{position:absolute;left:4vw;right:4vw;bottom:2vh;height:5.5vh;border:1px solid #d4aa55;border-radius:14px;background:#063047de}
/* 3 CLOCK FOCUS */
.clock-layout{display:grid;grid-template-columns:28vw 42vw 30vw;grid-template-rows:15vh 42vh 35vh 8vh;background:#fbfaf5;color:#17241e}.clock-brand{grid-column:1/3;display:flex;align-items:center;gap:1vw;padding:1.4vh 2vw}.clock-brand .logo{width:5vw;height:9vh}.giant-clock{grid-column:2;grid-row:1/3;text-align:center;padding-top:1vh}.giant-clock>.clock{font-size:9.5vw}.giant-clock>b{font-size:1.2vw}.giant-clock>span{display:block;color:#916d25;font-size:1vw;margin:.5vh 0 1.2vh}.giant-clock .count{width:28vw;margin:auto}.clock-prayers{grid-column:1;grid-row:2/4;margin:1vh 1vw;border:1px solid #d8b55b;border-radius:16px;overflow:hidden;background:#fff}.clock-prayers .prayer-item{height:10.2vh}.mini-photo{grid-column:2;grid-row:3;margin:1vh 1vw;background-size:cover;background-position:center;border-radius:18px;position:relative}.mini-photo>div{position:absolute;right:1vw;bottom:1vh;background:#08613dd9;color:#fff;padding:1vh 1vw;border-radius:10px;max-width:14vw}.mini-photo b,.mini-photo span{display:block;font-size:.8vw}.clock-right{grid-column:3;grid-row:1/4;padding:1.4vh 1vw;display:grid;grid-template-rows:1fr 1fr;gap:1vh}.clock-footer{grid-column:1/4;display:grid;grid-template-columns:28vw 1fr;background:#075d35;color:#fff}.clock-footer .infaq{padding:.8vh 1.2vw;display:flex;flex-direction:column}.clock-footer .infaq b{font-size:.85vw}.clock-footer .infaq span{font-size:.7vw}.clock-footer .ticker{border:0}
/* 4 MAGAZINE GRID */
.magazine-layout{display:grid;grid-template-columns:33vw 37vw 15vw 15vw;grid-template-rows:15vh 34vh 34vh 10vh 7vh;gap:1vh;padding:1vh 1vw;background:#fbfaf6;color:#17241e}.mag-head{grid-column:1/5;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #d8b55b}.mag-head .logo{width:5vw;height:9vh}.featured{grid-column:1/4;display:grid;grid-template-columns:58% 42%;border:1px solid #d8b55b;border-radius:16px;overflow:hidden;background:#fff}.feature-copy{padding:2vh 2vw;background-image:radial-gradient(#dfc68144 1px,transparent 1px);background-size:18px 18px}.feature-copy span{background:#08713f;color:#fff;padding:.4vh .6vw;border-radius:8px;font-size:.7vw}.feature-copy h2{font-size:2.2vw;color:#07562f;margin:1.2vh 0}.feature-copy p{font-size:.85vw}.feature-photo{background-size:cover;background-position:center}.mag-ann{grid-column:4;grid-row:2}.mag-photo{grid-column:1;grid-row:3;background-size:cover;background-position:center;border-radius:16px;border:1px solid #d8b55b}.tiles{grid-column:2/4;grid-row:3;display:grid;grid-template-columns:repeat(4,1fr);grid-template-rows:repeat(2,1fr);border:1px solid #d8b55b;border-radius:16px;overflow:hidden}.tiles .prayer-item{grid-template-columns:1fr;text-align:center;justify-items:center;border-right:1px solid #d8ddd9}.tiles .p-icon{width:2.2vw;height:2.2vw}.tiles .prayer-item.active{background:#0b7b3d;color:#fff}.mag-agenda{grid-column:4;grid-row:3}.mag-infaq{grid-column:1;grid-row:4}.mag-count{grid-column:2/4;grid-row:4;display:flex;align-items:center;justify-content:center;gap:1vw;padding:.4vh}.mag-count small{font-size:1vw}.mag-count strong{font-size:2.3vw}.mag-ticker{grid-column:1/5;grid-row:5;border-radius:14px;overflow:hidden}
/* 5 SPLIT SCREEN */
.split-layout{display:grid;grid-template-columns:66vw 34vw;grid-template-rows:93vh 7vh;background:#fff}.split-hero{position:relative;background-size:cover;background-position:center;overflow:hidden}.split-hero:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,#00211520,#00211545)}.split-brand{position:absolute;left:2vw;top:2vh;display:flex;gap:1vw;align-items:center;z-index:2;background:#fffffff0;padding:1vh 1.3vw;border-radius:16px}.split-brand .logo{width:5vw;height:8vh}.split-brand h1{font-size:2vw}.event-ribbon{position:absolute;left:18vw;right:4vw;top:18vh;z-index:2;background:#07713e;color:#fff;border:2px solid #d8b55b;border-radius:12px;padding:1vh;text-align:center;font-weight:800;font-size:1.4vw}.split-count{position:absolute;left:50%;bottom:20vh;transform:translateX(-50%);z-index:2;width:27vw}.agenda-overlay{position:absolute;left:2vw;right:2vw;bottom:2vh;z-index:2;background:#fffffff2;border:1px solid #d8b55b;border-radius:14px;padding:.7vh 1vw;display:flex;align-items:center;gap:1vw}.agenda-overlay h2{font-size:.9vw;color:#07562f;min-width:7vw}.agenda-overlay .agenda-item{display:inline-grid;grid-template-columns:2.5vw 1fr;border:0;min-width:15vw}.split-side{padding:1vh 1vw;display:grid;grid-template-rows:14vh 32vh 1fr auto;gap:1vh}.split-time{justify-content:space-between;border-bottom:1px solid #d8b55b}.split-time .clock{font-size:4.4vw}.compact{border:1px solid #d8b55b;border-radius:14px;overflow:hidden}.compact .prayer-item{height:3.7vh;padding:.25vh .7vw}.compact .p-icon{width:1.5vw;height:1.5vw}.compact .prayer-item strong{font-size:1vw}.split-ann{min-height:0}.split-infaq{min-height:8vh}.split-ticker{grid-column:1/3}

/* 6 ZAMZAM STYLE */
.zamzam-layout{display:grid;grid-template-rows:14vh 64vh 14vh 8vh;background:#eef5ff;background-size:cover;background-position:center;position:relative}.zamzam-layout:before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,#f4fbffcc,#e9f2ff99 24%,#eaf4ff80 70%,#edf3ffeb 100%)}.zamzam-layout>*{position:relative;z-index:1}.z-head{display:grid;grid-template-columns:18vw 1fr 22vw;align-items:center;padding:1vh 1.5vw;background:#edf4ffe8;border-bottom:1px solid #bfd6ef}.z-time{justify-self:start;text-align:left}.z-time .clock{font-size:4.6vw;line-height:1}.z-time small{display:block;background:#2b4058;color:#fff;padding:.35vh .8vw;border-radius:999px;font-size:.7vw;margin-top:.6vh;width:max-content}.z-time span{display:block;color:#6b52c7;font-weight:800;font-size:1.1vw;margin-top:.25vh}.z-brand{text-align:center}.z-brand h1{font-size:2.2vw;margin:0;color:#15253a}.z-brand p{margin:.4vh 0 0;color:#4b6177;font-size:1.15vw}.z-date{text-align:right}.z-date b{display:block;font-size:1.45vw;color:#1d2631}.z-date span{display:block;font-size:1.05vw;color:#5d6c84}.z-stage{margin:1vh 1.5vw 0;border-radius:0;position:relative;background-size:cover;background-position:center;overflow:hidden;box-shadow:inset 0 0 0 2000px #ffffff50}.z-stage .z-overlay{position:absolute;inset:0;background-image:inherit;background-size:cover;background-position:center;filter:saturate(1.05) brightness(1.03)}.z-stage:before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,#f8fbff55 0%,#ffffff10 20%,#ffffff00 65%,#f4f8ff80 100%)}.z-mode{position:absolute;left:1vw;top:1vh;background:#394658;color:#fff;border-radius:999px;padding:.45vh .85vw;font-size:.75vw;z-index:2}.z-right-panels{position:absolute;right:1vw;top:1.2vh;width:20vw;display:grid;grid-template-rows:1fr auto;gap:1vh;z-index:2}.z-panel{background:#ffffffed;border-radius:16px;border:1px solid #b7d2e9;overflow:hidden;box-shadow:0 10px 30px #09284b1a}.z-panel h2{margin:0;padding:1vh 1vw;background:linear-gradient(180deg,#eaf4ff,#dceeff);color:#19395a;font-size:1vw;border-bottom:1px solid #bfd6ef}.z-panel .announce-item{padding:.9vh 1vw;gap:.7vw;border-bottom:1px solid #e7eff7}.z-panel .announce-item span{background:#6c56d6;color:#fff}.z-panel .announce-item p{font-size:.85vw;color:#334}.z-infaq p{padding:1vh 1vw;font-size:.9vw;color:#334}.z-prayer-strip{display:grid;grid-template-columns:repeat(7,1fr);gap:0;background:#f7fbff;border-top:1px solid #bfd6ef;border-bottom:1px solid #bfd6ef;padding:0 .4vw}.z-prayer{display:grid;grid-template-rows:auto auto auto auto;justify-items:center;align-content:center;min-height:13vh;position:relative;color:#17283c;background:#f7fbff;border-right:1px solid #d5e6f6}.z-prayer:last-child{border-right:0}.z-prayer .zp-name{font-size:1.05vw;color:#4d5968}.z-prayer strong{font-size:2.15vw;line-height:1.1}.z-prayer .now-tag{display:none;color:#fff;background:#2b4058;padding:.2vh .5vw;border-radius:999px;font-size:.58vw;margin-top:.3vh}.z-prayer .zp-mini-count{font-size:.8vw;color:#7a57d2;font-weight:700}.z-prayer.active{background:#e7dbff}.z-prayer.active .zp-name,.z-prayer.active strong{color:#fff}.z-prayer.active .zp-mini-count{color:#fff}.z-prayer.active .now-tag{display:block}.z-prayer[data-prayer="Imsak"],.z-prayer[data-prayer="Subuh"]{box-shadow:inset 0 -5px 0 #62a3ff}.z-prayer[data-prayer="Terbit"],.z-prayer[data-prayer="Syuruq"]{box-shadow:inset 0 -5px 0 #56c4d8}.z-prayer[data-prayer="Dzuhur"],.z-prayer[data-prayer="Dzhuhur"]{box-shadow:inset 0 -5px 0 #66d38a}.z-prayer[data-prayer="Ashar"]{box-shadow:inset 0 -5px 0 #c18cff}.z-prayer[data-prayer="Maghrib"]{box-shadow:inset 0 -5px 0 #8d68ff}.z-prayer[data-prayer="Isya"]{box-shadow:inset 0 -5px 0 #5c70d6}.z-prayer.active[data-prayer="Imsak"],.z-prayer.active[data-prayer="Subuh"]{background:#4ea0ff}.z-prayer.active[data-prayer="Terbit"],.z-prayer.active[data-prayer="Syuruq"]{background:#34bcd2}.z-prayer.active[data-prayer="Dzuhur"],.z-prayer.active[data-prayer="Dzhuhur"]{background:#42b86a}.z-prayer.active[data-prayer="Ashar"]{background:#b67cff}.z-prayer.active[data-prayer="Maghrib"]{background:#8d68ff}.z-prayer.active[data-prayer="Isya"]{background:#5c70d6}.z-bottom{display:flex;align-items:center;background:#eaf3ff;padding:0 1vw;border-top:1px solid #bfd6ef}.z-quote{display:flex;align-items:center;gap:1.2vw;font-size:1vw;color:#21384f}.z-quote b{background:#fefefe;border:1px solid #bfd6ef;border-radius:999px;padding:.7vh 1vw;color:#27405f}

/* Admin */
.admin-body{background:#eef2ef;color:#17231d;min-height:100vh}.admin-wrap{max-width:1280px;margin:auto;padding:28px}.admin-head{display:flex;justify-content:space-between;align-items:center}.admin-head h1{font-size:30px;margin:0}.admin-head p{margin:.45rem 0}.btn,button{background:#174e3b;color:#fff;border:0;border-radius:10px;padding:12px 16px;text-decoration:none;font-weight:700;cursor:pointer}.cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.panel{background:#fff;border-radius:16px;padding:20px;box-shadow:0 8px 24px #17372812}.panel.wide{grid-column:1/3}.panel h2{margin-top:0}label{display:block;font-weight:700;margin:12px 0}label small{font-weight:400;color:#667}input,textarea{width:100%;margin-top:6px;padding:11px 12px;border:1px solid #ccd7d1;border-radius:9px;font:inherit}textarea{min-height:86px;resize:vertical}.success,.error{padding:12px 14px;border-radius:10px;margin:14px 0}.success{background:#dff4e8;border:1px solid #9fd4b5}.error{background:#ffe5e5;border:1px solid #e6abab}.mini{display:flex;flex-direction:column;gap:4px;padding:10px 0;border-bottom:1px solid #dde6e1}.mini span{color:#667}.action-mini{flex-direction:row;justify-content:space-between;gap:12px;align-items:center}.danger{background:#a83d3d;padding:8px 11px}.photo-preview{height:180px;border-radius:12px;overflow:hidden;background:#e5e9e7}.photo-preview img{width:100%;height:100%;object-fit:cover}hr{border:0;border-top:1px solid #e0e7e3;margin:18px 0}.template-picker{margin-bottom:18px;padding:14px;border:1px solid #dbe4df;border-radius:12px;background:#f8faf8}.template-picker h3{margin:0 0 4px}.help{margin:0 0 12px;color:#667;font-size:13px}.template-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:10px}.template-option{margin:0;position:relative}.template-option input{position:absolute;opacity:0;pointer-events:none}.template-preview{display:block;border:2px solid transparent;border-radius:12px;padding:9px;cursor:pointer;background:#fff;box-shadow:0 4px 12px #0000000c;min-height:150px}.template-option input:checked + .template-preview{border-color:#174e3b;box-shadow:0 0 0 3px #174e3b1a}.template-preview i{display:block;height:68px;border-radius:8px;margin-bottom:8px;position:relative;overflow:hidden;background:#dce5df}.template-preview i:before,.template-preview i:after,.template-preview i em{content:"";position:absolute;display:block}.tp-classic i:before{left:4%;top:8%;bottom:8%;width:22%;background:#0a6b40}.tp-classic i:after{right:4%;top:8%;bottom:8%;width:22%;background:#e8e0c9}.tp-classic i em{left:29%;right:29%;top:8%;bottom:8%;background:#7aa18b}.tp-glass i{background:#18384e}.tp-glass i:before{left:4%;right:4%;top:8%;height:18%;background:#ffffff55}.tp-glass i:after{right:4%;top:30%;bottom:24%;width:25%;background:#ffffff33}.tp-glass i em{left:5%;right:32%;bottom:7%;height:18%;background:#ffffff33}.tp-clock i:before{left:25%;right:25%;top:8%;height:38%;background:#0b6c40}.tp-clock i:after{left:4%;top:8%;bottom:8%;width:18%;background:#dde9df}.tp-clock i em{right:4%;top:8%;bottom:8%;width:18%;background:#d8e0dc}.tp-magazine i:before{left:3%;right:24%;top:5%;height:34%;background:#ddd1a8}.tp-magazine i:after{left:3%;top:44%;bottom:5%;width:27%;background:#7da18b}.tp-magazine i em{left:33%;right:3%;top:44%;bottom:5%;background:repeating-linear-gradient(90deg,#eef3ee 0 18%,#0a7141 18% 22%)}.tp-split i:before{left:3%;top:5%;bottom:5%;width:62%;background:#739985}.tp-split i:after{right:3%;top:5%;bottom:5%;width:28%;background:#eef1ed}.tp-zamzam i:before{left:3%;right:3%;top:6%;height:22%;background:#dce7f6}.tp-zamzam i:after{left:3%;right:3%;bottom:6%;height:22%;background:#cce1ff}.tp-zamzam i em{left:3%;right:3%;top:31%;bottom:31%;background:#89a8c7}.template-preview b,.template-preview small{display:block}.template-preview small{font-weight:400;color:#667;margin:3px 0 7px;font-size:12px}.template-preview a{font-size:12px;color:#174e3b;text-decoration:underline}@media(max-width:1000px){.template-grid{grid-template-columns:repeat(2,1fr)}.cards{grid-template-columns:1fr}.panel.wide{grid-column:auto}.admin-head{align-items:flex-start;gap:12px;flex-direction:column}}@media(max-aspect-ratio:4/3){.v4{overflow:auto}.layout{min-width:1100px;min-height:620px}}


/* =========================================================
   V8 — SUBULUSSALAM SIGNATURE (tampilan utama)
   Header lebih ringkas, countdown pojok kanan atas, footer jam
   ========================================================= */
.template-signature{margin:0;background:#f5f2ea;color:#17211c;overflow:hidden;font-family:Inter,Segoe UI,Arial,sans-serif}
.signature-layout{width:100vw;height:100vh;min-height:560px;display:grid;grid-template-columns:23.5% 54.5% 22%;grid-template-rows:13% 75% 12%;grid-template-areas:"head head head" "prayers hero side" "foot foot foot";background:#fbfaf6;position:relative}
.signature-layout:before{content:"";position:absolute;inset:0;pointer-events:none;background-image:linear-gradient(30deg,transparent 48%,rgba(181,137,38,.035) 49%,rgba(181,137,38,.035) 51%,transparent 52%);background-size:42px 42px}
.sig-header{grid-area:head;display:grid;grid-template-columns:minmax(0,1fr) 205px 280px;align-items:center;padding:0 24px 0 30px;background:rgba(255,255,255,.98);border-bottom:2px solid #c99725;box-shadow:0 3px 16px #173e2b12;z-index:3;position:relative}
.sig-header:after{content:"";position:absolute;left:0;top:0;width:24%;height:100%;opacity:.17;background:repeating-linear-gradient(45deg,#b88e2d 0 1px,transparent 1px 16px),repeating-linear-gradient(-45deg,#b88e2d 0 1px,transparent 1px 16px);mask-image:linear-gradient(90deg,#000,transparent)}
.sig-brand{display:flex;align-items:center;gap:14px;min-width:0;z-index:1}.sig-brand h1{margin:0;color:#075c31;font-size:clamp(27px,2.75vw,52px);line-height:.95;font-weight:800;letter-spacing:-1.8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sig-brand p{margin:4px 0 0;text-align:left;font-size:clamp(12px,1.05vw,19px);color:#282e2a}.sig-logo{width:78px;height:78px;border:3px solid #d19a1e;border-radius:48% 48% 14px 14px;display:grid;place-items:center;color:#075c31;position:relative;background:#fff;box-shadow:0 5px 16px #0000000d;flex:0 0 auto}.sig-logo b{font-size:34px;line-height:1}.sig-logo span{position:absolute;top:5px;right:13px;font-size:16px;color:#c99012}.sig-clock{font-size:clamp(46px,5vw,84px);font-weight:800;line-height:1;text-align:center;color:#075c31;border-left:2px solid #d9ad50;border-right:1px solid #e6e0d2;letter-spacing:-3px}.sig-date{padding-left:20px;display:flex;flex-direction:column;gap:8px}.sig-date b{font-size:clamp(14px,1.15vw,21px);color:#111}.sig-date span{padding-top:7px;border-top:2px solid #d7a52c;font-size:clamp(13px,1vw,19px);color:#343434}
.sig-prayers{grid-area:prayers;margin:12px 8px 8px 24px;background:#fff;border:1px solid #d8ba76;border-radius:22px;overflow:hidden;box-shadow:0 10px 28px #0b3d2712;z-index:2}.sig-section-title{height:74px;background:linear-gradient(90deg,#075c31,#08743e);color:#fff;display:flex;align-items:center;gap:14px;padding:0 24px;font-size:clamp(19px,1.55vw,28px);font-weight:800}.sig-section-title span{width:48px;height:48px;border-radius:50%;display:grid;place-items:center;border:2px solid #d9a326;color:#ffd66a}.sig-prayer-list{height:calc(100% - 74px);display:grid;grid-template-rows:repeat(7,1fr)}.sig-prayer{position:relative;display:grid;grid-template-columns:58px 1fr auto;align-items:center;gap:10px;padding:0 22px;border-bottom:1px solid #e4e1d8;background:#fff;transition:.25s}.sig-prayer:last-child{border-bottom:0}.sig-prayer .sig-icon{width:44px;height:44px;border-radius:50%;display:grid;place-items:center;background:#0b6b3d;color:#fff;font-size:24px;font-weight:700}.sig-prayer .sig-name{font-size:clamp(18px,1.55vw,30px);font-weight:750}.sig-prayer strong{font-size:clamp(25px,2.1vw,38px);font-weight:800;letter-spacing:-1px}.sig-prayer .now-tag{display:none;position:absolute;left:91px;bottom:4px;font-size:12px;font-weight:800;color:#ffe386}.sig-prayer.active{background:linear-gradient(90deg,#0a6939,#117940);color:#fff;box-shadow:inset -7px 0 #d7a425}.sig-prayer.active .sig-icon{background:#fff;color:#0a6538}.sig-prayer.active .now-tag{display:block}
.sig-hero{grid-area:hero;margin:12px 8px 8px 8px;border:1px solid #d4b26d;border-radius:6px;background-size:cover;background-position:center;position:relative;overflow:hidden;box-shadow:0 10px 28px #0b3d2712;z-index:1}.sig-hero-shade{position:absolute;inset:0;background:linear-gradient(180deg,transparent 58%,rgba(3,38,24,.12) 100%)}.sig-count{position:absolute;right:16px;top:18px;left:auto;bottom:auto;transform:none;width:clamp(250px,31%,390px);min-width:0;padding:9px 24px 12px;background:rgba(255,255,255,.96);border:2px solid #d39c23;border-radius:24px;box-shadow:0 7px 24px #0004;text-align:center;color:#065b31}.sig-count:before,.sig-count:after{content:"✦";position:absolute;top:50%;transform:translateY(-50%);color:#c7911b;font-size:15px}.sig-count:before{left:11px}.sig-count:after{right:11px}.sig-count small{display:inline-block;margin-top:-20px;background:#086b39;color:#fff;padding:5px 18px;border-radius:999px;font-weight:800;font-size:clamp(10px,.85vw,15px);letter-spacing:.35px}.sig-count b{display:block;margin-top:5px;font-size:clamp(18px,1.5vw,28px);text-transform:uppercase}.sig-count strong{display:block;font-size:clamp(38px,3.9vw,68px);line-height:.98;letter-spacing:2px}.sig-count span{display:block;margin-top:7px;padding-top:6px;border-top:1px solid #9e8b5c;font-size:clamp(9px,.72vw,13px);color:#333}
.sig-right{grid-area:side;margin:12px 22px 8px 6px;display:grid;grid-template-rows:1.05fr 1.05fr .9fr;gap:14px;z-index:2}.sig-card{background:#fff;border:1px solid #d6b570;border-radius:22px;overflow:hidden;box-shadow:0 8px 22px #0b3d2710}.sig-card h2{margin:0;padding:15px 20px;background:linear-gradient(90deg,#075c31,#08733e);color:#fff;font-size:clamp(18px,1.35vw,25px);display:flex;align-items:center;gap:10px}.sig-card .announce-item{padding:11px 17px;border-bottom:1px dashed #cfc7b5;display:flex;gap:10px}.sig-card .announce-item:last-child{border-bottom:0}.sig-card .announce-item>span{width:27px;height:27px;border-radius:50%;background:#09693b;color:#fff;display:grid;place-items:center;font-weight:800;flex:0 0 auto}.sig-card .announce-item b,.sig-card .agenda-item b{font-size:clamp(13px,1.05vw,19px)}.sig-card .announce-item p,.sig-card .agenda-item p{margin:3px 0 0;font-size:clamp(11px,.9vw,16px);line-height:1.25}.sig-card .agenda-item{padding:10px 16px;display:flex;gap:12px;border-bottom:1px dashed #cfc7b5}.sig-card .agenda-item:last-child{border-bottom:0}.sig-card .agenda-item time{min-width:48px;height:52px;border-radius:8px;background:#0a693a;color:#fff;display:flex;flex-direction:column;align-items:center;justify-content:center}.sig-card .agenda-item time b{font-size:20px}.sig-card .agenda-item time small{font-size:10px}.sig-infaq{padding-bottom:14px}.sig-infaq p{margin:14px 18px 8px;font-size:clamp(12px,.9vw,16px);line-height:1.35}.sig-infaq>div{margin:8px 18px;padding:11px;border:1px solid #7eaa92;border-radius:12px;color:#075c31;font-weight:700;white-space:pre-line;font-size:clamp(12px,.9vw,16px)}
.sig-footer{grid-area:foot;display:grid;grid-template-columns:24% 76%;align-items:center;background:#fff;border-top:2px solid #d1a447;z-index:3}.sig-reminder{height:100%;display:flex;align-items:center;gap:14px;padding:0 34px;border-right:2px solid #d2a446}.sig-reminder>span{width:64px;height:64px;border:3px solid #075c31;border-radius:50%;display:grid;place-items:center;font-size:34px}.sig-reminder div{display:flex;flex-direction:column}.sig-reminder b{font-size:clamp(16px,1.2vw,22px);color:#075c31}.sig-reminder small{font-size:clamp(12px,.95vw,17px);margin-top:4px}.sig-footer-clock>span{font-family:Arial,sans-serif;font-size:36px}.sig-footer-clock b{font-size:clamp(22px,1.9vw,34px);letter-spacing:1px;color:#183326}.sig-footer-clock small{font-size:clamp(10px,.8vw,14px);color:#6b746d}.sig-running{height:72%;margin-right:24px;border-radius:5px;background:linear-gradient(90deg,#075c31,#08733e);color:#fff;display:flex;align-items:center;gap:18px;padding:0 28px;overflow:hidden}.sig-running b{font-size:35px;color:#e5b74a}.sig-running span{font-size:clamp(17px,1.4vw,25px);font-weight:600;white-space:nowrap;animation:sigTicker 28s linear infinite}@keyframes sigTicker{from{transform:translateX(8%)}to{transform:translateX(-100%)}}

.template-preview.tp-signature i{background:#f8f6ef}.tp-signature i:before{left:3%;top:7%;bottom:7%;width:22%;background:#0a693b}.tp-signature i:after{right:3%;top:7%;bottom:7%;width:20%;background:#eef1eb}.tp-signature i em{left:28%;right:26%;top:7%;bottom:7%;background:linear-gradient(#8ab3c8 0 66%,#fff 66% 100%);border:1px solid #d2a247}
@media(max-width:1200px){.sig-header{grid-template-columns:minmax(0,1fr) 190px 230px;padding-left:20px}.sig-logo{width:78px;height:78px}.sig-brand h1{font-size:40px}.sig-clock{font-size:72px}.sig-prayers{margin-left:12px}.sig-right{margin-right:12px}.sig-count{min-width:58%}.signature-layout{grid-template-columns:24% 52% 24%}}
@media(max-aspect-ratio:4/3){.template-signature{overflow:auto}.signature-layout{min-width:1180px;min-height:660px}}

/* =========================================================
   V7 — CONTENT SCHEDULER / DIGITAL SIGNAGE
   ========================================================= */
.v7{overflow:hidden}.content-layer{display:none;position:fixed;z-index:80;pointer-events:none}.content-layer.active{display:block;pointer-events:auto}.content-layer.mode-fullscreen{inset:0;background:#000}.content-layer.mode-tengah{left:23.5vw;right:1vw;top:13vh;bottom:12vh;padding:12px 8px 8px}.content-shell{width:100%;height:100%;position:relative;background:#000;border-radius:12px;overflow:hidden;box-shadow:0 12px 40px #0007;border:2px solid #c99a2a}.mode-fullscreen .content-shell{border:0;border-radius:0}.content-stage,.content-stage>*{width:100%;height:100%}.content-stage img{display:block;object-fit:contain;background:#050505}.content-stage video{display:block;object-fit:contain;background:#000}.content-stage iframe{display:block;border:0;background:#000}.content-title-tv{position:absolute;left:18px;top:16px;z-index:2;max-width:70%;padding:8px 15px;border-radius:999px;background:#075c31e8;color:#fff;font-weight:800;font-size:clamp(13px,1.1vw,20px);box-shadow:0 4px 18px #0004}.prayer-priority{display:none;position:fixed;inset:0;z-index:120;background:radial-gradient(circle at center,#164b34f2,#021c12f7);align-items:center;justify-content:center;color:#fff}.prayer-priority.active{display:flex}.prayer-priority-card{min-width:min(680px,75vw);padding:48px 60px;text-align:center;border:2px solid #d4a735;border-radius:36px;background:linear-gradient(180deg,#0c6038f4,#053621f7);box-shadow:0 22px 80px #000a,inset 0 0 80px #ffffff0b}.prayer-priority-card small{display:inline-block;padding:8px 22px;border-radius:999px;background:#e3b340;color:#153324;font-weight:900;letter-spacing:.8px}.prayer-priority-card h2{font-size:clamp(42px,6vw,100px);margin:18px 0 8px}.prayer-priority-card strong{display:block;font-size:clamp(58px,8vw,130px);line-height:1;color:#f3cb65;letter-spacing:4px}.prayer-priority-card p{font-size:clamp(16px,1.5vw,26px);margin:18px 0 0}.admin-tabs{position:sticky;top:0;z-index:10;display:flex;gap:8px;flex-wrap:wrap;margin:0 0 18px;padding:10px;background:#eef5f0d9;backdrop-filter:blur(8px);border:1px solid #d4e1d8;border-radius:12px}.admin-tabs a{padding:9px 13px;background:#fff;border:1px solid #c9d7ce;border-radius:9px;color:#164c35;text-decoration:none;font-weight:700}.content-admin-block{scroll-margin-top:80px}.content-admin-head{display:flex;align-items:center;justify-content:space-between;gap:20px;background:linear-gradient(90deg,#083d28,#0b6d42);color:#fff;padding:18px 22px;border-radius:16px;margin-bottom:14px}.content-admin-head h2{margin:0 0 5px}.content-admin-head p{margin:0;color:#dbeee3}.content-status{padding:8px 13px;border-radius:999px;font-weight:900;font-size:12px}.content-status.on{background:#dff8e8;color:#076033}.content-status.off{background:#ffe1df;color:#92261f}.form-grid-3,.form-grid-4{display:grid;gap:12px}.form-grid-3{grid-template-columns:repeat(3,1fr)}.form-grid-4{grid-template-columns:repeat(4,1fr)}.panel select{width:100%;padding:10px;border:1px solid #c8d2cc;border-radius:8px;background:#fff}.day-picker{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin:10px 0 15px}.day-picker>b{margin-right:8px}.day-picker label{margin:0;cursor:pointer}.day-picker input{display:none}.day-picker span{display:block;padding:8px 11px;border:1px solid #c9d6ce;border-radius:8px;background:#fff}.day-picker input:checked+span{background:#0a6940;color:#fff;border-color:#0a6940}.checkline{display:flex!important;align-items:center;gap:9px;min-height:44px}.checkline input{width:auto!important;margin:0}.content-list{overflow:hidden}.content-row{display:grid;grid-template-columns:58px minmax(0,1fr) auto;gap:12px;align-items:center;padding:13px 0;border-bottom:1px solid #dce4df}.content-row:last-child{border-bottom:0}.content-type-icon{width:52px;height:52px;border-radius:12px;display:grid;place-items:center;font-size:11px;font-weight:900;color:#fff;background:#6f7d75}.content-type-icon.type-gambar{background:#267653}.content-type-icon.type-video{background:#315f9b}.content-type-icon.type-live{background:#a33333}.content-title{display:flex;gap:7px;align-items:center;flex-wrap:wrap}.content-title>b{font-size:15px}.badge{font-size:10px;font-weight:900;padding:4px 7px;border-radius:999px;background:#e8eee9;color:#385047}.badge.priority{background:#fff2cf;color:#775b0e}.badge.active{background:#d9f5e4;color:#076337}.badge.inactive{background:#f1dddd;color:#8d2d2d}.content-row-main>small,.source-line{display:block;margin-top:5px;color:#65736b;font-size:12px}.source-line{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:680px}.content-actions{display:flex;gap:6px;align-items:center}.content-actions form{display:flex;gap:6px}.btn-small{display:inline-block;padding:7px 9px;border:0;border-radius:7px;background:#e7efe9;color:#174d37;text-decoration:none;font-size:11px;font-weight:700;cursor:pointer}.content-actions .danger{background:#f6dddd;color:#842824}.content-form small{color:#6b746f;font-weight:400}#tampilan,#shalat,#informasi{scroll-margin-top:80px}
@media(max-width:1000px){.form-grid-3,.form-grid-4{grid-template-columns:1fr 1fr}.content-row{grid-template-columns:52px 1fr}.content-actions{grid-column:2}.content-admin-head{align-items:flex-start;flex-direction:column}}
@media(max-width:650px){.form-grid-3,.form-grid-4{grid-template-columns:1fr}.content-row{grid-template-columns:1fr}.content-actions{grid-column:1}.source-line{max-width:85vw}}

/* V8: nalika konten tayang, panel kanan disingkirkan supaya area konten luwih lega. */
.template-signature.content-playing .sig-right{opacity:0;visibility:hidden;pointer-events:none;transition:opacity .2s ease}.template-signature:not(.content-playing) .sig-right{opacity:1;visibility:visible;transition:opacity .2s ease}.template-signature.content-playing-tengah .content-layer.mode-tengah{right:1vw}.template-signature.content-playing-tengah .sig-hero{margin-right:0}

/* =========================================================
   V9 — BALIK TAMPILAN AWAL, JADWAL & SCHEDULER TETAP
   ========================================================= */
.v9-legacy{min-height:100vh;background:radial-gradient(circle at top,#153f32,#071510 68%);color:#f4fff9;overflow:hidden}
.v9-legacy .legacy-shell{height:100vh;min-height:0;padding:22px 30px 58px;gap:15px;display:grid;grid-template-rows:auto minmax(0,1.08fr) auto minmax(0,.82fr)}
.v9-legacy .legacy-header{display:flex;justify-content:space-between;align-items:flex-start;border-bottom:1px solid #ffffff22;padding-bottom:12px}
.v9-legacy .legacy-header h1{margin:0;font-size:clamp(26px,2.35vw,42px)}
.v9-legacy .legacy-header .muted{margin-top:4px;font-size:clamp(12px,.95vw,17px)}
.v9-legacy .clock{text-align:right}.v9-legacy #clock{font-size:clamp(32px,3vw,52px);font-weight:800;line-height:1}.v9-legacy #date{margin-top:5px;font-size:clamp(11px,.92vw,16px)}
.v9-legacy .legacy-hero,.v9-legacy .legacy-bottom-grid{min-height:0;display:grid;grid-template-columns:1.1fr 1.9fr;gap:15px}
.v9-legacy .next-card,.v9-legacy .info-card,.v9-legacy .quote-card,.v9-legacy .prayer{background:#ffffff10;border:1px solid #ffffff18;border-radius:18px;padding:17px 19px;box-shadow:0 10px 25px #0004;overflow:hidden}
.v9-legacy .eyebrow{font-size:12px;letter-spacing:1.4px;opacity:.7}.v9-legacy .next-name{font-size:clamp(28px,2.7vw,46px);font-weight:800;margin-top:4px}.v9-legacy .countdown{font-size:clamp(42px,4vw,70px);font-weight:900;letter-spacing:2px;margin:5px 0}.v9-legacy .small,.v9-legacy .muted{opacity:.72}
.v9-legacy .legacy-prayer-grid{display:grid;grid-template-columns:repeat(6,1fr);gap:10px}.v9-legacy .prayer{position:relative;text-align:center;padding:11px 10px}.v9-legacy .prayer span{display:block;opacity:.75;margin-bottom:5px;font-size:clamp(11px,.9vw,16px)}.v9-legacy .prayer strong{font-size:clamp(21px,2vw,34px)}.v9-legacy .prayer .now-tag{display:none;margin-top:4px;font-size:9px;letter-spacing:.8px;color:#182218;background:#d5b66f;border-radius:99px;padding:3px 7px}.v9-legacy .prayer.active{border-color:#d5b66f;background:#d5b66f20;box-shadow:inset 0 0 0 1px #d5b66f55,0 10px 25px #0004}.v9-legacy .prayer.active .now-tag{display:inline-block}
.v9-legacy .info-card h3{margin:0 0 8px;font-size:clamp(17px,1.35vw,23px)}.v9-legacy .item{display:flex;flex-direction:column;gap:3px;padding:6px 0;border-bottom:1px solid #ffffff16}.v9-legacy .item:last-child{border-bottom:0}.v9-legacy .item b{font-size:clamp(11px,.9vw,15px)}.v9-legacy .item span{opacity:.72;font-size:clamp(10px,.82vw,14px);line-height:1.2}.v9-legacy .quote-card{display:flex;align-items:center;justify-content:center;flex-direction:column;text-align:center}.v9-legacy .arabic{font-size:clamp(28px,3vw,50px);margin-bottom:6px}.v9-legacy .ticker{position:fixed;bottom:0;left:0;right:0;background:#d5b66f;color:#152018;height:43px;overflow:hidden;display:flex;align-items:center;font-weight:700;z-index:140}.v9-legacy .ticker div{white-space:nowrap;animation:scroll 24s linear infinite;padding-left:100%}
/* Mode konten area tengah: jadwal shalat tetap terlihat. */
.v9-legacy .content-layer.mode-tengah{left:2vw;right:2vw;top:13vh;bottom:35vh;padding:0}.v9-legacy .content-layer.mode-tengah .content-shell{border-radius:18px}.v9-legacy.content-playing-tengah .legacy-hero{opacity:.15}.v9-legacy.content-playing-tengah .legacy-bottom-grid{opacity:.45}.v9-legacy.content-playing-tengah .legacy-prayer-grid{position:relative;z-index:90}
@media(max-width:900px){.v9-legacy{overflow:auto}.v9-legacy .legacy-shell{height:auto;min-height:100vh;display:flex;flex-direction:column;padding:16px 14px 58px}.v9-legacy .legacy-hero,.v9-legacy .legacy-bottom-grid{grid-template-columns:1fr}.v9-legacy .legacy-prayer-grid{grid-template-columns:repeat(3,1fr)}.v9-legacy .content-layer.mode-tengah{left:2vw;right:2vw;top:15vh;bottom:40vh}}

/* =========================================================
   V10 — TAMPILAN V2, JADWAL DATABASE SAIKI TETEP
   ========================================================= */
.v10-v2{min-height:100vh;background:#062b27;color:#fff;overflow:hidden}
.v10-v2 .tv2-shell{height:100vh;display:grid;grid-template-rows:21vh 1fr 8vh;background:radial-gradient(circle at 55% 28%,#0d4b43 0,#062b27 40%,#031d1b 100%)}
.v10-v2 .tv2-header{display:grid;grid-template-columns:minmax(0,26fr) minmax(0,48fr) minmax(0,26fr);align-items:center;padding:2.1vh 1.7vw 1.5vh;border-bottom:2px solid #cfa443;position:relative;background:linear-gradient(90deg,#06352f 0,#042a27 70%,#063a37)}
.v10-v2 .tv2-header:after{content:"";position:absolute;inset:0;background-image:radial-gradient(circle at 20% 10%,#ffffff08 1px,transparent 1.5px);background-size:18px 18px;pointer-events:none}
.v10-v2 .header-calendar{justify-self:start;text-align:left;z-index:1;min-width:0}.v10-v2 .date-line{font-family:Georgia,'Times New Roman',serif;font-size:1.65vw;font-weight:700;line-height:1.2;white-space:nowrap}.v10-v2 .hijri-line{font-size:1.3vw;color:#f4bd45;margin-top:.85vh;padding-top:.75vh;border-top:2px solid #d1a846;line-height:1.2;white-space:nowrap}.v10-v2 .header-brand{text-align:center;z-index:1;min-width:0;padding:0 .5vw}.v10-v2 .header-brand h1{margin:0;font-family:Georgia,'Times New Roman',serif;font-size:2.8vw;line-height:1.05;letter-spacing:.025em;white-space:nowrap;overflow:visible;text-overflow:clip}.v10-v2 .location{font-size:1.28vw;color:#f2bd48;margin-top:.65vh;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.v10-v2 .gold-line{height:2px;width:30vw;max-width:580px;background:linear-gradient(90deg,transparent,#edc35d,#edc35d,transparent);margin:.75vh auto}.v10-v2 .header-clock{justify-self:end;text-align:right;z-index:1;min-width:0}.v10-v2 .big-clock{font-size:5.1vw;line-height:.9;font-weight:800;letter-spacing:.02em;font-variant-numeric:tabular-nums}
.v10-v2 .tv2-main{display:grid;grid-template-columns:25.5vw minmax(0,1fr) 25.5vw;min-height:0}.v10-v2 .panel-dark{margin:1.4vh 1.2vw;border:1.5px solid #d9ad4c;border-radius:22px;background:linear-gradient(180deg,#073f37,#06302d);overflow:hidden;box-shadow:0 12px 28px #0005;display:flex;flex-direction:column}.v10-v2 .panel-title{display:flex;align-items:center;gap:.8vw;padding:1.5vh 1.3vw 1vh;border-bottom:1px solid #d4ae4d66}.v10-v2 .panel-title h2,.v10-v2 .card-head h2{margin:0;font-family:Georgia,'Times New Roman',serif;font-size:1.65vw}.v10-v2 .round-icon{width:3vw;height:3vw;border:2px solid #e3b64f;border-radius:50%;display:grid;place-items:center;color:#f0c55e;font-size:1.6vw}.v10-v2 .prayer-list{display:flex;flex-direction:column;gap:.45vh;padding:1vh .8vw;min-height:0;overflow:hidden}.v10-v2 .prayer-row{flex:1;min-height:4.9vh;max-height:7vh;border:1px solid #2d766b;border-radius:28px;display:grid;grid-template-columns:2.3vw 1fr auto;align-items:center;padding:0 1vw;gap:.45vw;background:#064139;transition:.2s}.v10-v2 .prayer-row strong{font-size:1.75vw}.v10-v2 .prayer-name{font-family:Georgia,'Times New Roman',serif;font-size:1.3vw}.v10-v2 .prayer-icon{font-size:1.25vw}.v10-v2 .prayer-row.active{background:linear-gradient(90deg,#f0c557,#e7b744);color:#18211d;border-color:#f8d370;box-shadow:0 0 22px #f4c25355}.v10-v2 .shaf-box{margin-top:auto;border-top:1px solid #d4ae4d66;padding:1.1vh 1.2vw;display:flex;align-items:center;gap:.9vw;min-height:7.5vh}.v10-v2 .people-icon{font-size:2.1vw}.v10-v2 .shaf-box b{display:block;font-size:1.05vw}.v10-v2 .shaf-box small{display:block;color:#e9bb4b;margin-top:.3vh;font-size:.8vw}
.v10-v2 .mosque-hero{margin:1.4vh 0;border-top:1.5px solid #d9ad4c;border-bottom:1.5px solid #d9ad4c;background-size:cover;background-position:center;position:relative;box-shadow:inset 0 0 70px #001b17aa;min-width:0}.v10-v2 .countdown-badge{position:absolute;left:50%;bottom:3.2vh;transform:translateX(-50%);width:min(23vw,390px);padding:1.05vh 1.1vw 1.35vh;text-align:center;background:linear-gradient(180deg,#064139,#022b28);border:3px solid #d8aa48;border-radius:42% 42% 22px 22px;box-shadow:0 10px 28px #0008}.v10-v2 .countdown-badge .ornament{display:block;color:#dfb54d;font-size:1.35vw}.v10-v2 .countdown-badge div{font-family:Georgia,'Times New Roman',serif;font-size:1.25vw}.v10-v2 .countdown-badge strong{display:block;color:#f0c35a;font-size:2.9vw;letter-spacing:.05em;margin:.15vh 0}.v10-v2 .countdown-badge small{font-size:.68vw;color:#eee}
.v10-v2 .right-stack{padding:1.4vh 1.2vw;display:grid;grid-template-rows:1fr 1fr;gap:1.1vh;min-height:0}.v10-v2 .light-card{border:1.5px solid #d9ad4c;border-radius:22px;overflow:hidden;background:#faf7ef;color:#14251f;box-shadow:0 12px 28px #0004;min-height:0}.v10-v2 .card-head{height:6.3vh;display:flex;align-items:center;gap:.75vw;background:#073e37;color:#fff;padding:0 1vw}.v10-v2 .card-head>span{font-size:1.45vw}.v10-v2 .light-body{padding:.75vh .85vw;overflow:hidden}.v10-v2 .announcement{display:grid;grid-template-columns:1.8vw 1fr;gap:.55vw;padding:.65vh 0;border-bottom:1px dashed #9ea7a2}.v10-v2 .announcement:last-child{border-bottom:0}.v10-v2 .number{width:1.65vw;height:1.65vw;border-radius:50%;background:#087044;color:#fff;display:grid;place-items:center;font-size:.75vw;font-weight:700}.v10-v2 .announcement b,.v10-v2 .agenda-text b{font-size:.93vw}.v10-v2 .announcement p,.v10-v2 .agenda-text p{margin:.25vh 0 0;font-size:.76vw;line-height:1.25}.v10-v2 .agenda-row{display:grid;grid-template-columns:3.2vw 1fr;gap:.7vw;align-items:center;padding:.65vh 0;border-bottom:1px dashed #9ea7a2}.v10-v2 .agenda-row:last-child{border-bottom:0}.v10-v2 .date-badge{background:#087044;color:#fff;border-radius:9px;text-align:center;padding:.35vh .2vw}.v10-v2 .date-badge b{display:block;font-size:1vw}.v10-v2 .date-badge span{font-size:.55vw}.v10-v2 .empty{font-size:.85vw;color:#5e6963;padding:1vh .4vw}
.v10-v2 .ticker2{display:grid;grid-template-columns:auto 1fr auto;align-items:center;margin:0 1.2vw 1vh;border:1.5px solid #d9ad4c;border-radius:18px;background:#063c35;overflow:hidden}.v10-v2 .ticker-label,.v10-v2 .arabic-end{height:100%;display:flex;align-items:center;gap:.55vw;padding:0 1.1vw;color:#f0c35a;white-space:nowrap}.v10-v2 .ticker-label b{font-family:Georgia,'Times New Roman',serif;font-size:1.15vw}.v10-v2 .ticker-label span{font-size:1.65vw}.v10-v2 .arabic-end{font-size:1.15vw;border-left:1px solid #d9ad4c55}.v10-v2 .ticker-window{overflow:hidden;white-space:nowrap;border-left:1px solid #d9ad4c55}.v10-v2 .ticker-move{display:inline-block;padding-left:100%;animation:scroll 30s linear infinite;font-size:.9vw;color:#fff}
/* Konten tengah: jadwal kiri tetep katon; hero + panel kanan dadi area konten. */
.v10-v2 .content-layer.mode-tengah{left:25.5vw;right:1.2vw;top:21vh;bottom:8vh;padding:1.4vh 0 1vh;z-index:90}.v10-v2 .content-layer.mode-tengah .content-shell{border-radius:18px}.v10-v2.content-playing-tengah .mosque-hero{opacity:.12}.v10-v2.content-playing-tengah .right-stack{opacity:0;visibility:hidden;pointer-events:none}.v10-v2.content-playing-tengah .prayer-panel{position:relative;z-index:95}.v10-v2 .content-layer.mode-fullscreen{z-index:100}
@media(max-width:1000px){.v10-v2{overflow:auto}.v10-v2 .tv2-shell{min-width:1180px;min-height:680px}.v10-v2 .content-layer.mode-tengah{left:25.5vw;right:1.2vw}}

/* V10 FIX2 — countdown dipindah ke bawah Isya supaya foto masjid utuh */
.v10-v2 .countdown-compact{
  margin:.15vh .8vw 1vh;
  padding:.65vh .75vw .72vh;
  text-align:center;
  background:linear-gradient(180deg,#064139,#022b28);
  border:2px solid #d8aa48;
  border-radius:18px;
  box-shadow:0 7px 18px #0005;
  flex:0 0 auto;
}
.v10-v2 .countdown-compact-label{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:.35vw;
  font-family:Georgia,'Times New Roman',serif;
  font-size:.9vw;
  line-height:1.05;
}
.v10-v2 .countdown-compact-label .ornament{color:#dfb54d;font-size:.8vw}
.v10-v2 .countdown-compact strong{
  display:block;
  color:#f0c35a;
  font-size:1.75vw;
  line-height:1.05;
  letter-spacing:.03em;
  margin:.25vh 0 .15vh;
}
.v10-v2 .countdown-compact small{display:block;font-size:.58vw;color:#eee;line-height:1.15}
.v10-v2 .mosque-hero{background-position:center center;box-shadow:inset 0 0 42px #001b1766}
.v10-v2 .shaf-box{display:none!important}
@media(max-width:1000px){
  .v10-v2 .countdown-compact-label{font-size:12px}
  .v10-v2 .countdown-compact strong{font-size:24px}
  .v10-v2 .countdown-compact small{font-size:9px}
}

/* V15 — foto luwih amba, tanpa running text, jadwal luwih gedhe */
.v10-v2 .tv2-shell{grid-template-rows:21vh 79vh}
.v10-v2 .tv2-main{grid-template-columns:minmax(0,1fr) 20.5vw}
.v10-v2 .mosque-hero{margin:1.4vh 0 1.4vh 1.2vw}
.v10-v2 .right-stack{padding:1.4vh .7vw 1.4vh .8vw}
.v10-v2 .prayer-strip-panel{position:absolute;left:1vw;right:1vw;bottom:1.4vh;z-index:3;padding:0;background:transparent;border:0;overflow:visible}
.v10-v2 .prayer-box-grid{height:15.5vh;display:grid;grid-template-columns:repeat(var(--prayer-count),minmax(0,1fr));gap:.7vw;min-height:0}
.v10-v2 .prayer-box-grid .prayer-row{min-height:0;max-height:none;height:100%;display:grid;grid-template-columns:1fr;grid-template-rows:auto auto;align-content:center;justify-items:center;gap:.55vh;padding:1vh .55vw;border:1.5px solid rgba(245,204,108,.78);border-radius:17px;background:linear-gradient(180deg,rgba(3,62,53,.28),rgba(1,32,29,.46));-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);color:#fff;box-shadow:inset 0 1px 0 #ffffff24,0 6px 16px #0005;position:relative}
.v10-v2 .prayer-box-grid .prayer-icon{position:absolute;left:.65vw;top:.55vh;color:#f1c45b;font-size:.55vw;text-shadow:0 1px 3px #000}
.v10-v2 .prayer-box-grid .prayer-name{font-family:Georgia,'Times New Roman',serif;font-size:1.2vw;line-height:1.05;color:#fff;text-shadow:0 2px 5px #000}
.v10-v2 .prayer-box-grid .prayer-row strong{font-size:2.45vw;line-height:1;font-variant-numeric:tabular-nums;color:#ffd66f;text-shadow:0 2px 6px #000}
.v10-v2 .prayer-box-grid .prayer-row.active{background:linear-gradient(180deg,rgba(245,207,110,.72),rgba(216,160,43,.68));color:#14231d;border-color:#ffe49a;box-shadow:0 0 18px #f4c25366}
.v10-v2 .prayer-box-grid .prayer-row.active .prayer-name,.v10-v2 .prayer-box-grid .prayer-row.active strong{color:#15241e}
.v10-v2 .prayer-box-grid .prayer-row.active .prayer-icon{color:#075c31}
.v10-v2 .content-layer.mode-tengah{left:1.2vw;right:.7vw;top:21vh;bottom:0;padding:1.4vh 0;z-index:90}
.v10-v2.content-playing-tengah .mosque-hero{opacity:1}
.v10-v2.content-playing-tengah .prayer-strip-panel{z-index:95}
@media(max-width:1000px){.v10-v2 .tv2-shell{min-width:1180px;min-height:680px}.v10-v2 .content-layer.mode-tengah{left:1.2vw;right:.7vw;bottom:0}}

/* Admin V16 — dashboard yang lebih ringkas dan mudah dioperasikan */
.admin-v16{--admin-green:#0b5b3d;--admin-green-dark:#073f2c;--admin-gold:#d7a82c;--admin-ink:#17231d;--admin-muted:#6b756f;--admin-line:#dfe7e2;--admin-bg:#f3f6f4;--admin-white:#fff;margin:0;min-height:100vh;background:var(--admin-bg);color:var(--admin-ink);font-family:Inter,"Segoe UI",Arial,sans-serif;font-size:16px;line-height:1.5}
.admin-v16 *{box-sizing:border-box}
.admin-v16 .admin-topbar{position:sticky;top:0;z-index:50;height:76px;display:flex;align-items:center;gap:18px;padding:0 30px;background:linear-gradient(100deg,var(--admin-green-dark),var(--admin-green));border-bottom:3px solid var(--admin-gold);box-shadow:0 8px 24px #092f2118;color:#fff}
.admin-v16 .admin-brand{display:flex;align-items:center;gap:12px;color:#fff;text-decoration:none;min-width:0}
.admin-v16 .admin-brand-mark{width:43px;height:43px;display:grid;place-items:center;border:1px solid #e7bf5d;border-radius:13px;background:#ffffff0c;color:#f4ca64;font-size:27px;line-height:1}
.admin-v16 .admin-brand>span:last-child{display:flex;flex-direction:column;min-width:0}
.admin-v16 .admin-brand strong{font-family:Georgia,"Times New Roman",serif;font-size:20px;line-height:1.1;letter-spacing:.2px}
.admin-v16 .admin-brand small{max-width:320px;margin-top:3px;color:#dcebe4;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;font-size:12px}
.admin-v16 .admin-top-actions{margin-left:auto;display:flex;align-items:center;gap:18px}
.admin-v16 .screen-state{display:flex;align-items:center;gap:8px;color:#dfeee7;font-size:14px;font-weight:700}
.admin-v16 .screen-state i{width:8px;height:8px;border-radius:50%;background:#64d996;box-shadow:0 0 0 4px #64d9961f}
.admin-v16 .admin-tv-button{display:inline-flex;align-items:center;gap:8px;padding:10px 15px;border:1px solid #ffffff42;border-radius:10px;background:#ffffff10;color:#fff;text-decoration:none;font-size:14px;font-weight:800;transition:.2s}
.admin-v16 .admin-tv-button:hover{background:#fff;color:var(--admin-green)}
.admin-v16 .admin-menu-toggle{display:none;width:42px;height:42px;padding:0;border:1px solid #ffffff3d;border-radius:10px;background:#ffffff0d;color:#fff;font-size:22px}
.admin-v16 .admin-shell{max-width:1560px;margin:0 auto;display:grid;grid-template-columns:254px minmax(0,1fr);align-items:start}
.admin-v16 .admin-sidebar{position:sticky;top:76px;min-height:calc(100vh - 76px);padding:28px 18px 24px;background:#fff;border-right:1px solid var(--admin-line)}
.admin-v16 .admin-sidebar-label{padding:0 14px 10px;color:#9aa39e;font-size:11px;font-weight:900;letter-spacing:1.3px}
.admin-v16 .admin-nav{display:flex;flex-direction:column;gap:6px}
.admin-v16 .admin-nav a{position:relative;display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:10px;color:#4d5c54;text-decoration:none;font-size:14px;font-weight:750;transition:.18s}
.admin-v16 .admin-nav a span{width:22px;color:#7d8b83;text-align:center;font-size:19px;line-height:1}
.admin-v16 .admin-nav a:hover{background:#f0f6f2;color:var(--admin-green)}
.admin-v16 .admin-nav a.active{background:#e7f2ec;color:var(--admin-green);font-weight:900}
.admin-v16 .admin-nav a.active:before{content:"";position:absolute;left:0;top:10px;bottom:10px;width:3px;border-radius:0 4px 4px 0;background:var(--admin-gold)}
.admin-v16 .admin-nav a.active span{color:var(--admin-green)}
.admin-v16 .admin-sidebar-help{display:flex;gap:10px;align-items:flex-start;margin:34px 8px 0;padding:14px;border:1px solid #e8dfbd;border-radius:12px;background:#fffaf0}
.admin-v16 .admin-sidebar-help>span{width:24px;height:24px;display:grid;place-items:center;flex:0 0 auto;border-radius:50%;background:#f0c85f;color:#483709;font-weight:900}
.admin-v16 .admin-sidebar-help b,.admin-v16 .admin-sidebar-help small{display:block}
.admin-v16 .admin-sidebar-help b{font-size:13px}
.admin-v16 .admin-sidebar-help small{margin-top:3px;color:#7d735d;font-size:11px;line-height:1.4}
.admin-v16 .admin-main{min-width:0;padding:34px 38px 70px}
.admin-v16 .admin-anchor{scroll-margin-top:100px}
.admin-v16 .admin-alert{display:flex;align-items:center;gap:10px;margin:0 0 18px;padding:13px 15px;border-radius:11px;font-weight:700}
.admin-v16 .admin-alert span{width:24px;height:24px;display:grid;place-items:center;border-radius:50%;font-size:13px;font-weight:900}
.admin-v16 .admin-alert.success{border:1px solid #b8dfc8;background:#e7f7ed;color:#166338}
.admin-v16 .admin-alert.success span{background:#258153;color:#fff}
.admin-v16 .admin-alert.error{border:1px solid #efc5c5;background:#fff0f0;color:#8a2d2d}
.admin-v16 .admin-alert.error span{background:#b54040;color:#fff}
.admin-v16 .admin-page-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:26px;margin-bottom:24px}
.admin-v16 .admin-eyebrow,.admin-v16 .section-kicker{display:block;color:#a27b17;font-size:11px;font-weight:900;letter-spacing:1.4px}
.admin-v16 .admin-page-heading h1{margin:4px 0 4px;font-family:Georgia,"Times New Roman",serif;font-size:34px;line-height:1.18;color:#123626}
.admin-v16 .admin-page-heading p,.admin-v16 .admin-section-heading p{margin:0;color:var(--admin-muted);font-size:14px}
.admin-v16 .admin-date-box{min-width:186px;padding:12px 15px;border:1px solid var(--admin-line);border-radius:12px;background:#fff;text-align:right;box-shadow:0 5px 18px #153f2a08}
.admin-v16 .admin-date-box small,.admin-v16 .admin-date-box strong,.admin-v16 .admin-date-box span{display:block}
.admin-v16 .admin-date-box small{color:#8b958f;font-size:11px}
.admin-v16 .admin-date-box strong{margin:2px 0;color:#264236;font-size:14px}
.admin-v16 .admin-date-box span{color:var(--admin-green);font-size:12px;font-weight:800}
.admin-v16 .admin-stats{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-bottom:18px}
.admin-v16 .admin-stat{display:flex;align-items:center;gap:14px;min-height:114px;padding:18px;border:1px solid var(--admin-line);border-radius:15px;background:#fff;box-shadow:0 8px 24px #123a2709}
.admin-v16 .admin-stat-icon{width:46px;height:46px;display:grid;place-items:center;flex:0 0 auto;border-radius:13px;font-size:22px;font-weight:900}
.admin-v16 .admin-stat.prayer .admin-stat-icon{background:#e5f3eb;color:#116841}.admin-v16 .admin-stat.announcement .admin-stat-icon{background:#fff3d6;color:#9b6c00}.admin-v16 .admin-stat.media .admin-stat-icon{background:#e9eef8;color:#315f9b}
.admin-v16 .admin-stat small,.admin-v16 .admin-stat strong,.admin-v16 .admin-stat p{display:block}
.admin-v16 .admin-stat small{color:#7c8881;font-size:12px}.admin-v16 .admin-stat strong{margin:2px 0;color:#1d3329;font-size:18px}.admin-v16 .admin-stat p{margin:0;color:#87918c;font-size:11px}
.admin-v16 .admin-home-grid{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(360px,.88fr);gap:18px}
.admin-v16 .admin-card{border:1px solid var(--admin-line);border-radius:16px;background:#fff;box-shadow:0 9px 28px #14372509}
.admin-v16 .admin-quick-card,.admin-v16 .admin-preview-card{padding:20px}
.admin-v16 .admin-card-title{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-bottom:16px}
.admin-v16 .admin-card-title h2{margin:3px 0 0;color:#1c382b;font-size:20px}
.admin-v16 .admin-card-title>a{color:var(--admin-green);font-size:12px;font-weight:800;text-decoration:none}
.admin-v16 .admin-quick-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}
.admin-v16 .admin-quick-grid a{position:relative;display:grid;grid-template-columns:40px minmax(0,1fr) 12px;grid-template-rows:auto auto;column-gap:11px;padding:13px;border:1px solid #e8edea;border-radius:12px;color:#1d3027;text-decoration:none;transition:.18s}
.admin-v16 .admin-quick-grid a:hover{border-color:#b8d1c3;background:#f7fbf8;transform:translateY(-1px)}
.admin-v16 .quick-icon{grid-row:1/3;width:40px;height:40px;display:grid;place-items:center;border-radius:10px;font-size:19px;font-weight:900}
.admin-v16 .quick-icon.green{background:#e6f3ec;color:#126844}.admin-v16 .quick-icon.gold{background:#fff2d5;color:#9b6b00}.admin-v16 .quick-icon.blue{background:#e8f0fa;color:#345f94}.admin-v16 .quick-icon.purple{background:#f0e9f7;color:#755298}
.admin-v16 .admin-quick-grid b{align-self:end;font-size:13px}.admin-v16 .admin-quick-grid small{color:#88918c;font-size:10px}.admin-v16 .admin-quick-grid i{grid-column:3;grid-row:1/3;align-self:center;color:#9aa49f;font-size:22px;font-style:normal}
.admin-v16 .admin-tv-preview{position:relative;min-height:210px;overflow:hidden;border:3px solid #0b5b3d;border-radius:12px;background:#063d33;color:#fff}
.admin-v16 .admin-tv-preview>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.admin-v16 .admin-tv-shade{position:absolute;inset:0;background:linear-gradient(180deg,#052f29df 0 29%,#00000010 52%,#042c29d6 100%)}
.admin-v16 .preview-top{position:absolute;left:12px;right:12px;top:9px;display:grid;grid-template-columns:1fr 2fr 1fr;align-items:start;gap:8px;text-align:center}
.admin-v16 .preview-top small{font-size:7px;text-align:left}.admin-v16 .preview-top strong{overflow:hidden;color:#fff4d5;font-family:Georgia,"Times New Roman",serif;font-size:13px;white-space:nowrap;text-overflow:ellipsis}.admin-v16 .preview-top b{font-size:17px;text-align:right}
.admin-v16 .preview-address{position:absolute;left:18%;right:18%;top:35px;overflow:hidden;color:#f5c55c;font-size:8px;text-align:center;white-space:nowrap;text-overflow:ellipsis}
.admin-v16 .preview-times{position:absolute;left:10px;right:10px;bottom:10px;display:grid;grid-template-columns:repeat(5,1fr);gap:5px}
.admin-v16 .preview-times span{padding:6px 3px;border:1px solid #f0c75d99;border-radius:7px;background:#063d35a8;text-align:center;backdrop-filter:blur(2px)}
.admin-v16 .preview-times small,.admin-v16 .preview-times b{display:block}.admin-v16 .preview-times small{font-size:7px}.admin-v16 .preview-times b{color:#ffd66f;font-size:12px}
.admin-v16 .admin-section{padding-top:38px}
.admin-v16 .admin-section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin-bottom:14px}
.admin-v16 .admin-section-heading h2{margin:3px 0 3px;color:#143828;font-family:Georgia,"Times New Roman",serif;font-size:27px}
.admin-v16 .section-count{padding:7px 11px;border:1px solid #d8e4dd;border-radius:999px;background:#edf5f0;color:#256046;font-size:11px;font-weight:900}
.admin-v16 .admin-form-card{padding:22px}
.admin-v16 label{display:block;margin:0;color:#2c3d35;font-size:14px;font-weight:800}
.admin-v16 label small{display:block;margin:3px 0 0;color:#7e8883;font-size:11px;font-weight:500}
.admin-v16 input,.admin-v16 textarea,.admin-v16 select{width:100%;margin-top:7px;padding:11px 12px;border:1px solid #cfd9d3;border-radius:9px;background:#fff;color:#1c2c24;font:inherit;font-size:14px;outline:0;transition:border-color .18s,box-shadow .18s}
.admin-v16 textarea{min-height:88px;resize:vertical}
.admin-v16 input:focus,.admin-v16 textarea:focus,.admin-v16 select:focus{border-color:#4f9774;box-shadow:0 0 0 3px #18704a17}
.admin-v16 input[type=file]{padding:9px;background:#f8faf9;font-size:12px}
.admin-v16 input[type=checkbox]{width:auto}
.admin-v16 button{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:10px 16px;border:0;border-radius:9px;background:var(--admin-green);color:#fff;font:inherit;font-size:13px;font-weight:900;cursor:pointer;transition:.18s}
.admin-v16 button:hover{background:#08492f}
.admin-v16 .admin-identity-grid{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(300px,.9fr);gap:24px;align-items:start}
.admin-v16 .admin-identity-grid>div:first-child{display:grid;gap:16px}
.admin-v16 .admin-photo-preview{position:relative;height:245px;overflow:hidden;border-radius:12px;background:#e5ebe7}
.admin-v16 .admin-photo-preview img{width:100%;height:100%;object-fit:cover}
.admin-v16 .admin-photo-preview span{position:absolute;left:12px;bottom:12px;padding:6px 9px;border-radius:7px;background:#082d25d9;color:#fff;font-size:10px;font-weight:800}
.admin-v16 .admin-form-footer{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-top:20px;padding-top:17px;border-top:1px solid #e4ebe7}
.admin-v16 .admin-form-footer>span{color:#818b86;font-size:11px}
.admin-v16 .admin-prayer-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:12px}
.admin-v16 .admin-prayer-grid label{padding:14px;border:1px solid #e0e7e3;border-radius:11px;background:#f9fbfa;text-align:center}
.admin-v16 .admin-prayer-grid label span{display:block;color:#53625a;font-size:13px}
.admin-v16 .admin-prayer-grid input{padding:8px;color:var(--admin-green);text-align:center;font-size:18px;font-weight:900;font-variant-numeric:tabular-nums}
.admin-v16 .prayer-auto-card{margin-bottom:14px;border-color:#cfe0d6;background:linear-gradient(135deg,#fff,#f6fbf8)}
.admin-v16 .prayer-auto-intro{display:flex;align-items:flex-start;gap:14px;margin-bottom:15px}.admin-v16 .prayer-auto-icon{width:43px;height:43px;display:grid;place-items:center;flex:0 0 auto;border-radius:12px;background:#dff1e6;color:var(--admin-green);font-size:24px;font-weight:900}.admin-v16 .prayer-auto-intro h3{margin:1px 0 4px;color:#173e2c;font-size:17px}.admin-v16 .prayer-auto-intro p{max-width:760px;margin:0;color:#68766e;font-size:12px;line-height:1.55}
.admin-v16 .prayer-auto-switch{margin-bottom:16px}.admin-v16 .prayer-location-grid{margin-top:0}.admin-v16 .prayer-sync-status{display:flex;align-items:center;gap:10px;margin-top:4px;padding:11px 13px;border:1px solid #d8e6dd;border-radius:9px;background:#f4f9f6}.admin-v16 .prayer-sync-status>span{width:10px;height:10px;flex:0 0 auto;border-radius:50%;background:#28a060;box-shadow:0 0 0 4px #28a06018}.admin-v16 .prayer-sync-status b,.admin-v16 .prayer-sync-status small{display:block}.admin-v16 .prayer-sync-status b{color:#28543d;font-size:12px}.admin-v16 .prayer-sync-status small{margin-top:2px;color:#758179;font-size:10px}.admin-v16 .prayer-sync-status.has-error{border-color:#edd0cf;background:#fff8f7}.admin-v16 .prayer-sync-status.has-error>span{background:#c44a42;box-shadow:0 0 0 4px #c44a4218}.admin-v16 .prayer-sync-status.has-error b{color:#89382f}
.admin-v16 .manual-prayer-heading{display:flex;justify-content:space-between;margin-bottom:14px}.admin-v16 .manual-prayer-heading b,.admin-v16 .manual-prayer-heading small{display:block}.admin-v16 .manual-prayer-heading b{color:#254936;font-size:14px}.admin-v16 .manual-prayer-heading small{margin-top:3px;color:#7d8982;font-size:11px}
.admin-v16 .admin-form-grid{display:grid;gap:16px;margin-bottom:16px}.admin-v16 .admin-form-grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-v16 .admin-form-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}.admin-v16 .admin-form-grid.four{grid-template-columns:repeat(4,minmax(0,1fr))}
.admin-v16 .admin-list-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:22px;padding:16px 0 10px;border-top:1px solid #e4ebe7}
.admin-v16 .admin-list-heading.top{margin:0;padding:0 0 13px;border:0}.admin-v16 .admin-list-heading.top>div{display:flex;align-items:center;justify-content:space-between;width:100%}
.admin-v16 .admin-list-heading b{font-size:14px}.admin-v16 .admin-list-heading small{color:#8b958f;font-size:11px}
.admin-v16 .admin-item-list{border:1px solid #e5ebe7;border-radius:11px;overflow:hidden}
.admin-v16 .admin-list-item{display:grid;grid-template-columns:38px minmax(0,1fr) auto;align-items:center;gap:12px;padding:12px 14px;border-bottom:1px solid #e7ece9;background:#fff}
.admin-v16 .admin-list-item:last-child{border-bottom:0}
.admin-v16 .list-item-icon{width:34px;height:34px;display:grid;place-items:center;border-radius:9px;background:#eaf4ee;color:#1f724c}
.admin-v16 .admin-list-item b{font-size:13px}.admin-v16 .admin-list-item p{margin:3px 0 0;color:#768079;font-size:11px;white-space:pre-wrap}
.admin-v16 .admin-delete{min-height:32px;padding:6px 10px;background:#fae7e7;color:#963838;font-size:11px}
.admin-v16 .admin-delete:hover{background:#efd0d0;color:#7c2828}
.admin-v16 .list-date{width:36px;overflow:hidden;border-radius:8px;background:#eaf4ee;color:var(--admin-green);text-align:center}
.admin-v16 .list-date b,.admin-v16 .list-date small{display:block}.admin-v16 .list-date b{padding:3px 0 0;font-size:14px}.admin-v16 .list-date small{padding:2px;background:#d3e8db;font-size:7px;font-weight:900}
.admin-v16 .admin-empty{padding:22px;color:#7e8983;text-align:center;font-size:13px}
.admin-v16 .content-status{padding:7px 11px;border-radius:999px;font-size:11px;font-weight:900}.admin-v16 .content-status.on{background:#dbf3e4;color:#12663b}.admin-v16 .content-status.off{background:#f7dddd;color:#8b2f2f}
.admin-v16 .admin-day-picker{padding:4px 0 10px}.admin-v16 .admin-day-picker b{font-size:13px}.admin-v16 .admin-day-picker span{font-size:12px}.admin-v16 .admin-day-picker input:checked+span{background:var(--admin-green);border-color:var(--admin-green)}
.admin-v16 .compact-grid{align-items:end}
.admin-v16 .checkline{display:flex!important;align-items:center;gap:9px;min-height:44px;margin:0;padding:10px 12px;border:1px solid #e1e8e4;border-radius:9px;background:#f9fbfa;font-size:12px}
.admin-v16 .checkline input{margin:0}
.admin-v16 .admin-content-list{margin-top:14px;padding:20px;overflow:hidden}
.admin-v16 .content-row{grid-template-columns:52px minmax(0,1fr) auto;padding:13px 2px}.admin-v16 .content-title>b{font-size:14px}.admin-v16 .source-line{max-width:560px}.admin-v16 .content-actions{flex-wrap:wrap;justify-content:flex-end}.admin-v16 .content-actions button{min-height:31px}.admin-v16 .btn-small{border-radius:7px;font-size:11px}.admin-v16 .content-actions .danger{background:#f6dddd;color:#842824}
.admin-v16 .admin-switch{display:flex;align-items:center;gap:12px;margin:7px 0 0;padding:14px;border:1px solid #dce6e0;border-radius:11px;background:#f8fbf9;cursor:pointer}
.admin-v16 .admin-switch>input{position:absolute;opacity:0;pointer-events:none}.admin-v16 .switch-track{position:relative;width:43px;height:24px;flex:0 0 auto;border-radius:999px;background:#aeb9b3;transition:.2s}.admin-v16 .switch-track:after{content:"";position:absolute;width:18px;height:18px;left:3px;top:3px;border-radius:50%;background:#fff;box-shadow:0 2px 4px #0002;transition:.2s}.admin-v16 .admin-switch>input:checked+.switch-track{background:var(--admin-green)}.admin-v16 .admin-switch>input:checked+.switch-track:after{transform:translateX(19px)}
.admin-v16 .admin-switch b,.admin-v16 .admin-switch small{display:block}.admin-v16 .admin-switch b{font-size:13px}.admin-v16 .admin-switch small{font-size:10px}
.admin-v16 .admin-advanced{margin-top:14px;border:1px solid #e0e7e3;border-radius:10px;background:#fbfcfb}.admin-v16 .admin-advanced summary{padding:12px 14px;color:#4d5c54;font-size:12px;font-weight:900;cursor:pointer}.admin-v16 .admin-advanced label{padding:2px 14px 14px}
.admin-v16 .admin-sidebar-backdrop{display:none}
@media(max-width:1180px){.admin-v16 .admin-main{padding:30px 26px 60px}.admin-v16 .admin-home-grid{grid-template-columns:1fr}.admin-v16 .admin-tv-preview{min-height:260px}.admin-v16 .admin-form-grid.four{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-v16 .admin-identity-grid{grid-template-columns:1fr 320px}}
@media(max-width:900px){.admin-v16 .admin-topbar{height:68px;padding:0 16px}.admin-v16 .admin-menu-toggle{display:grid;place-items:center}.admin-v16 .admin-brand small,.admin-v16 .screen-state{display:none}.admin-v16 .admin-shell{display:block}.admin-v16 .admin-sidebar{position:fixed;z-index:60;left:0;top:68px;bottom:0;width:270px;min-height:0;overflow-y:auto;transform:translateX(-102%);transition:transform .22s;box-shadow:14px 0 32px #092f2130}.admin-v16.admin-menu-open .admin-sidebar{transform:translateX(0)}.admin-v16 .admin-sidebar-backdrop{position:fixed;z-index:55;inset:68px 0 0;display:block;background:#071f1880;opacity:0;pointer-events:none;transition:opacity .22s}.admin-v16.admin-menu-open .admin-sidebar-backdrop{opacity:1;pointer-events:auto}.admin-v16 .admin-main{padding:26px 20px 55px}.admin-v16 .admin-stats{grid-template-columns:1fr 1fr}.admin-v16 .admin-stat:last-child{grid-column:1/3}.admin-v16 .admin-identity-grid{grid-template-columns:1fr}.admin-v16 .admin-photo-preview{height:280px}.admin-v16 .admin-form-grid.three{grid-template-columns:1fr 1fr}.admin-v16 .content-row{grid-template-columns:52px 1fr}.admin-v16 .content-actions{grid-column:2;justify-content:flex-start}}
@media(max-width:620px){.admin-v16 .admin-brand strong{font-size:16px}.admin-v16 .admin-brand-mark{width:36px;height:36px;font-size:22px}.admin-v16 .admin-tv-button{padding:9px 11px;font-size:12px}.admin-v16 .admin-tv-button span{display:none}.admin-v16 .admin-main{padding:22px 13px 45px}.admin-v16 .admin-page-heading{align-items:flex-start;flex-direction:column}.admin-v16 .admin-page-heading h1{font-size:29px}.admin-v16 .admin-date-box{width:100%;text-align:left}.admin-v16 .admin-stats{grid-template-columns:1fr}.admin-v16 .admin-stat:last-child{grid-column:auto}.admin-v16 .admin-home-grid{display:block}.admin-v16 .admin-preview-card{margin-top:14px}.admin-v16 .admin-quick-grid{grid-template-columns:1fr}.admin-v16 .admin-tv-preview{min-height:200px}.admin-v16 .admin-section{padding-top:30px}.admin-v16 .admin-section-heading{align-items:flex-start;flex-direction:column}.admin-v16 .admin-section-heading h2{font-size:24px}.admin-v16 .admin-form-card,.admin-v16 .admin-quick-card,.admin-v16 .admin-preview-card,.admin-v16 .admin-content-list{padding:16px}.admin-v16 .admin-photo-preview{height:220px}.admin-v16 .admin-form-grid.two,.admin-v16 .admin-form-grid.three,.admin-v16 .admin-form-grid.four{grid-template-columns:1fr}.admin-v16 .admin-form-footer{align-items:stretch;flex-direction:column}.admin-v16 .admin-form-footer button{width:100%}.admin-v16 .admin-list-item{grid-template-columns:36px minmax(0,1fr)}.admin-v16 .admin-list-item .admin-delete{grid-column:2;justify-self:start}.admin-v16 .content-row{grid-template-columns:1fr}.admin-v16 .content-actions{grid-column:1}.admin-v16 .source-line{max-width:82vw}.admin-v16 .preview-top small{display:none}.admin-v16 .preview-top{grid-template-columns:1fr auto}.admin-v16 .preview-top strong{text-align:left}.admin-v16 .preview-address{left:12px;right:70px;text-align:left}}

/* V17 — pilihan ukuran foto dan panel informasi */
.v10-v2 .mosque-hero.photo-fit-cover{background-size:100% 100%,cover;background-repeat:no-repeat,no-repeat}
.v10-v2 .mosque-hero.photo-fit-contain{background-size:100% 100%,contain;background-repeat:no-repeat,no-repeat;background-color:#052f2b}
.v10-v2 .mosque-hero.photo-fit-stretch{background-size:100% 100%,100% 100%;background-repeat:no-repeat,no-repeat}
.v10-v2 .tv2-main.no-side-panels{grid-template-columns:minmax(0,1fr)}
.v10-v2 .right-stack.one-panel{grid-template-rows:minmax(0,1fr)}
.admin-v16 .admin-tv-preview>img.fit-cover{object-fit:cover}.admin-v16 .admin-tv-preview>img.fit-contain{object-fit:contain;background:#052f2b}.admin-v16 .admin-tv-preview>img.fit-stretch{object-fit:fill}
.admin-v16 .admin-setting-block{margin-bottom:20px;padding-bottom:20px;border-bottom:1px solid #e4ebe7}
.admin-v16 .admin-setting-title{margin-bottom:12px}.admin-v16 .admin-setting-title h3{margin:0 0 3px;color:#20382d;font-size:16px}.admin-v16 .admin-setting-title p{margin:0;color:#7c8781;font-size:12px}
.admin-v16 .admin-fit-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}
.admin-v16 .admin-fit-options label{position:relative;margin:0;cursor:pointer}.admin-v16 .admin-fit-options input{position:absolute;opacity:0;pointer-events:none}
.admin-v16 .fit-option{display:block;height:100%;padding:9px;border:2px solid #e0e7e3;border-radius:12px;background:#fff;transition:.18s}
.admin-v16 .admin-fit-options label:hover .fit-option{border-color:#a9c7b7;background:#f8fbf9}.admin-v16 .admin-fit-options input:checked+.fit-option{border-color:var(--admin-green);background:#f1f8f4;box-shadow:0 0 0 3px #0b5b3d12}
.admin-v16 .fit-thumb{display:block;height:92px;margin-bottom:8px;overflow:hidden;border-radius:8px;background:#092f29}.admin-v16 .fit-thumb img{width:100%;height:100%}.admin-v16 .fit-thumb img.fit-cover{object-fit:cover}.admin-v16 .fit-thumb img.fit-contain{object-fit:contain}.admin-v16 .fit-thumb img.fit-stretch{object-fit:fill}
.admin-v16 .fit-option b,.admin-v16 .fit-option small{display:block}.admin-v16 .fit-option b{font-size:13px}.admin-v16 .fit-option small{margin-top:2px;color:#78837d;font-size:10px;font-weight:500;line-height:1.35}
.admin-v16 .admin-visibility-switches{margin-bottom:0}
@media(max-width:700px){.admin-v16 .admin-fit-options{grid-template-columns:1fr}.admin-v16 .fit-option{display:grid;grid-template-columns:110px minmax(0,1fr);grid-template-rows:auto auto;column-gap:12px;align-items:end}.admin-v16 .fit-thumb{grid-row:1/3;width:110px;height:68px;margin:0}.admin-v16 .fit-option small{align-self:start}}

/* V18 — foto penuh tanpa garis, transisi header berupa gradasi */
.v10-v2 .tv2-header{z-index:12;border-bottom:0;background:linear-gradient(90deg,#06352f 0,#042a27 70%,#063a37);box-shadow:none}
.v10-v2 .tv2-header:before{content:"";position:absolute;z-index:2;left:0;right:0;bottom:-5.5vh;height:7vh;background:linear-gradient(180deg,#042c29 0,rgba(4,44,41,.78) 28%,rgba(4,44,41,.34) 64%,transparent 100%);pointer-events:none}
.v10-v2 .tv2-header:after{z-index:0}
.v10-v2 .header-calendar,.v10-v2 .header-brand,.v10-v2 .header-clock{position:relative;z-index:3}
.v10-v2 .tv2-main{position:relative;display:grid;grid-template-columns:minmax(0,1fr);overflow:hidden}
.v10-v2 .mosque-hero{grid-area:1/1;width:100%;height:100%;margin:0;border:0;box-shadow:inset 0 0 42px #001b174d}
.v10-v2 .right-stack{position:absolute;z-index:5;top:0;right:0;bottom:0;width:20.5vw;padding:1.4vh .7vw 1.4vh .8vw}
.v10-v2 .tv2-main.has-side-panels .prayer-strip-panel{right:21.5vw}
.v10-v2 .tv2-main.no-side-panels .prayer-strip-panel{right:1vw}
.v10-v2.content-playing-tengah .tv2-main.has-side-panels .prayer-strip-panel{right:1vw}
.v10-v2 .content-layer.mode-tengah{left:0;right:0;padding-left:0;padding-right:0}
@media(max-width:1000px){.v10-v2 .right-stack{width:242px}.v10-v2 .tv2-main.has-side-panels .prayer-strip-panel{right:254px}.v10-v2.content-playing-tengah .tv2-main.has-side-panels .prayer-strip-panel{right:12px}}

/* V19 — foto memenuhi seluruh layar dan header transparan dapat diatur */
.v10-v2 .tv2-shell{position:relative;background-position:center center;background-color:#052f2b}
.v10-v2 .tv2-shell.photo-fit-cover{background-size:100% 100%,cover;background-repeat:no-repeat,no-repeat}
.v10-v2 .tv2-shell.photo-fit-contain{background-size:100% 100%,contain;background-repeat:no-repeat,no-repeat}
.v10-v2 .tv2-shell.photo-fit-stretch{background-size:100% 100%,100% 100%;background-repeat:no-repeat,no-repeat}
.v10-v2 .tv2-header{background:linear-gradient(180deg,rgba(3,39,35,var(--header-opacity,.72)) 0%,rgba(3,39,35,var(--header-opacity-soft,.45)) 64%,transparent 100%);-webkit-backdrop-filter:blur(1.2px);backdrop-filter:blur(1.2px)}
.v10-v2 .tv2-header:before{display:none}
.v10-v2 .date-line,.v10-v2 .header-brand h1,.v10-v2 .big-clock{text-shadow:0 2px 8px #001b18,0 1px 2px #001b18}
.v10-v2 .hijri-line,.v10-v2 .location{text-shadow:0 2px 6px #001b18}
.v10-v2 .mosque-hero{background:none!important}
.admin-v16 .admin-opacity-control{display:grid;grid-template-columns:auto minmax(180px,1fr) 62px auto;align-items:center;gap:12px;padding:14px;border:1px solid #dce6e0;border-radius:11px;background:linear-gradient(90deg,#f5faf7,#e5eee9)}
.admin-v16 .admin-opacity-control input[type=range]{width:100%;margin:0;padding:0;border:0;box-shadow:none;accent-color:var(--admin-green);cursor:pointer}
.admin-v16 .admin-opacity-control output{display:grid;place-items:center;min-height:36px;padding:5px 9px;border-radius:8px;background:var(--admin-green);color:#fff;font-size:13px;font-weight:900;font-variant-numeric:tabular-nums}
.admin-v16 .opacity-end{color:#647069;font-size:11px;font-weight:800}
@media(max-width:620px){.admin-v16 .admin-opacity-control{grid-template-columns:1fr 58px}.admin-v16 .admin-opacity-control .opacity-end{display:none}}

/* V20 — rentang header diperkuat; 100% kembali hijau tua */
.v10-v2 .tv2-header{background:linear-gradient(180deg,rgba(6,53,47,var(--header-opacity,.72)) 0%,rgba(4,42,39,var(--header-opacity-soft,.68)) 72%,rgba(4,42,39,var(--header-opacity-edge,.45)) 93%,transparent 100%);-webkit-backdrop-filter:blur(1.5px);backdrop-filter:blur(1.5px)}

/* V21 — media proporsional di tengah, jadwal 3 kiri dan 3 kanan */
.v10-v2 .media-prayer-sides{display:none;position:absolute;z-index:96;inset:0;padding:2vh 1vw;grid-template-columns:17vw 17vw;justify-content:space-between;pointer-events:none}
.v10-v2.content-playing-tengah .media-prayer-sides{display:grid}
.v10-v2.content-playing-tengah .prayer-strip-panel{display:none!important}
.v10-v2 .media-prayer-column{display:grid;grid-auto-rows:clamp(105px,18vh,180px);align-content:center;gap:1.5vh}
.v10-v2 .media-prayer-card{display:grid;align-content:center;justify-items:center;gap:.65vh;padding:1.2vh .8vw;border:1.5px solid rgba(245,204,108,.84);border-radius:20px;background:linear-gradient(145deg,rgba(3,66,56,.70),rgba(1,36,32,.78));-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);box-shadow:inset 0 1px 0 #ffffff25,0 10px 24px #0006;color:#fff;text-align:center}
.v10-v2 .media-prayer-card span{font-family:Georgia,'Times New Roman',serif;font-size:clamp(18px,1.35vw,27px);line-height:1.05;text-shadow:0 2px 5px #000}
.v10-v2 .media-prayer-card strong{color:#ffd66f;font-size:clamp(30px,3vw,54px);line-height:1;font-variant-numeric:tabular-nums;text-shadow:0 2px 7px #000}
.v10-v2 .media-prayer-card.active{border-color:#ffe49a;background:linear-gradient(145deg,rgba(245,207,110,.90),rgba(212,154,34,.86));box-shadow:0 0 24px #f4c25372}
.v10-v2 .media-prayer-card.active span,.v10-v2 .media-prayer-card.active strong{color:#14251f;text-shadow:none}
.v10-v2 .content-layer.mode-tengah{left:18.5vw;right:18.5vw;top:21vh;bottom:0;display:none;align-items:center;justify-content:center;padding:2vh 0}
.v10-v2 .content-layer.active.mode-tengah{display:flex}
.v10-v2 .content-layer.mode-tengah .content-shell{width:100%;height:auto;max-height:74vh;aspect-ratio:16/9;border-radius:20px;box-shadow:0 18px 46px #000a}
.v10-v2 .content-layer.mode-tengah .content-stage{position:absolute;inset:0}
.v10-v2 .content-layer.mode-tengah .content-title-tv{z-index:3}
.v10-v2 .content-title-tv[hidden]{display:none!important}
@media(max-width:1000px){.v10-v2 .media-prayer-sides{grid-template-columns:200px 200px;padding-left:12px;padding-right:12px}.v10-v2 .content-layer.mode-tengah{left:218px;right:218px}.v10-v2 .media-prayer-column{grid-auto-rows:clamp(105px,18vh,155px)}}

/* V23 — beberapa gambar utama berganti otomatis */
.v10-v2 .tv2-shell{isolation:isolate;background-image:none!important}
.v10-v2 .hero-slider{position:absolute;z-index:0;inset:0;overflow:hidden;background:#052f2b;pointer-events:none}
.v10-v2 .hero-slide{position:absolute;inset:0;opacity:0;background-position:center center;background-repeat:no-repeat;transition:opacity 1.25s ease-in-out;will-change:opacity}
.v10-v2 .hero-slide.active{opacity:1}
.v10-v2 .photo-fit-cover .hero-slide{background-size:cover}
.v10-v2 .photo-fit-contain .hero-slide{background-size:contain;background-color:#052f2b}
.v10-v2 .photo-fit-stretch .hero-slide{background-size:100% 100%}
.v10-v2 .hero-slider-tint{position:absolute;z-index:2;inset:0;background:linear-gradient(180deg,rgba(0,24,21,.10),rgba(0,20,18,.18))}
.v10-v2 .tv2-header,.v10-v2 .tv2-main{position:relative}
.v10-v2 .tv2-main{z-index:1}

.admin-v16 .slider-upload-card{margin-top:14px}
.admin-v16 .slider-upload-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(220px,.38fr);gap:16px;align-items:end}
.admin-v16 .slider-photo-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:13px;margin-top:15px}
.admin-v16 .slider-photo-card{overflow:hidden;border:1px solid #dce5e0;border-radius:12px;background:#fff;box-shadow:0 5px 14px #1737280b}
.admin-v16 .slider-photo-thumb{position:relative;height:118px;overflow:hidden;background:#0b342d}
.admin-v16 .slider-photo-thumb img{width:100%;height:100%;object-fit:cover}
.admin-v16 .slider-photo-status{position:absolute;left:8px;top:8px;padding:4px 7px;border-radius:999px;background:#12683fea;color:#fff;font-size:9px;font-weight:900;letter-spacing:.4px}
.admin-v16 .slider-photo-card.inactive .slider-photo-thumb img{filter:grayscale(.8);opacity:.55}
.admin-v16 .slider-photo-card.inactive .slider-photo-status{background:#6e7873e8}
.admin-v16 .slider-photo-info{padding:10px}.admin-v16 .slider-photo-info small{display:block;overflow:hidden;color:#748079;font-size:10px;white-space:nowrap;text-overflow:ellipsis}
.admin-v16 .slider-photo-actions{display:flex;gap:7px;margin-top:9px}.admin-v16 .slider-photo-actions form{display:flex;gap:7px;flex:1}.admin-v16 .slider-photo-actions button{min-height:31px;flex:1;padding:6px 8px;font-size:10px}.admin-v16 .slider-photo-actions .danger{background:#fae7e7;color:#963838}
@media(max-width:700px){.admin-v16 .slider-upload-grid{grid-template-columns:1fr}.admin-v16 .slider-photo-grid{grid-template-columns:1fr 1fr}}
@media(max-width:460px){.admin-v16 .slider-photo-grid{grid-template-columns:1fr}}

/* V24 — status salat berlangsung, header tetap terlihat */
.v10-v2 .salat-active-layer{position:absolute;z-index:11;left:0;right:0;top:21vh;bottom:0;display:none;place-items:center;overflow:hidden;color:#fff;text-align:center;background:radial-gradient(circle at 50% 42%,#185943 0,#062e24 52%,#021a15 100%)}
.v10-v2 .salat-active-layer.active{display:grid}
.v10-v2.salat-active .tv2-main{visibility:hidden}
.v10-v2.salat-active .content-layer{display:none!important}
.v10-v2 .salat-active-layer:before{content:"";position:absolute;inset:0;opacity:.13;background-image:radial-gradient(circle at 15% 18%,#fff 1px,transparent 1.5px),radial-gradient(circle at 75% 63%,#e4bb57 1px,transparent 1.5px);background-size:36px 36px,52px 52px}
.v10-v2 .salat-active-crescent{position:absolute;top:4.8%;color:#e7bd59;font-size:4.1vw;text-shadow:0 5px 20px #0007}
.v10-v2 .salat-active-message{width:min(72%,760px);position:relative;padding:5.2vh 3.7vw;border-top:2px solid rgba(226,181,72,.86);border-bottom:2px solid rgba(226,181,72,.86);background:linear-gradient(90deg,transparent,rgba(7,83,53,.82) 18%,rgba(7,83,53,.90) 50%,rgba(7,83,53,.82) 82%,transparent)}
.v10-v2 .salat-active-name{display:inline-block;margin-bottom:1.7vh;padding:.75vh 1.2vw;border-radius:999px;color:#173527;background:#e2b548;font-size:1.05vw;font-weight:900;letter-spacing:.1em}
.v10-v2 .salat-active-message h2{margin:0;color:#fff7df;font-family:Georgia,'Times New Roman',serif;font-size:4.9vw;line-height:1.08;text-shadow:0 4px 16px #0009}
.v10-v2 .salat-active-message strong{display:block;margin-top:1vh;color:#f0c65f;font-size:2.05vw;letter-spacing:.12em}
.v10-v2 .salat-active-message p{margin:2.3vh 0 0;color:#edf5f1;font-size:1.28vw}
.v10-v2 .salat-active-footer{position:absolute;bottom:5%;color:#ffffffc2;font-size:1vw;letter-spacing:.04em}
@media(max-width:1000px){.v10-v2 .salat-active-crescent{font-size:50px}.v10-v2 .salat-active-name{font-size:13px}.v10-v2 .salat-active-message h2{font-size:58px}.v10-v2 .salat-active-message strong{font-size:25px}.v10-v2 .salat-active-message p{font-size:16px}.v10-v2 .salat-active-footer{font-size:12px}}

/* V30 — durasi per gambar, QRIS infaq menggantung, lan running text opsional */
.v10-v2 .tv2-running-text{position:absolute;z-index:24;left:0;right:0;bottom:0;height:5.7vh;min-height:42px;display:grid;grid-template-columns:max-content minmax(0,1fr);align-items:center;overflow:hidden;color:#fff;background:linear-gradient(90deg,rgba(3,55,45,.96),rgba(4,70,57,.84),rgba(2,45,39,.93));border-top:2px solid rgba(232,190,86,.88);box-shadow:0 -8px 24px #001e196e;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}
.v10-v2 .tv2-running-text>strong{height:100%;display:flex;align-items:center;padding:0 1.35vw;color:#f6d36f;background:linear-gradient(90deg,#063e34,#075a46);border-right:1px solid #dcb753;font-size:clamp(13px,.92vw,19px);letter-spacing:.06em;white-space:nowrap}
.v10-v2 .tv2-running-text>div{min-width:0;overflow:hidden;white-space:nowrap}
.v10-v2 .tv2-running-text span{display:inline-block;padding-left:100%;font-size:clamp(14px,1.02vw,21px);font-weight:700;line-height:1;white-space:nowrap;text-shadow:0 2px 5px #000;animation:tv2-running-scroll 34s linear infinite}
@keyframes tv2-running-scroll{to{transform:translateX(-100%)}}
.v10-v2 .has-running-text .prayer-strip-panel{bottom:7vh}
.v10-v2 .floating-infaq{position:absolute;z-index:9;right:1.25vw;bottom:18.3vh;width:15.5vw;min-width:235px;padding:1.2vh .75vw 1.1vh;color:#fff;text-align:center;border:2px solid #dfb94f;border-radius:20px;background:linear-gradient(160deg,rgba(3,74,58,.92),rgba(2,42,36,.94));box-shadow:0 14px 34px #001d18a6,inset 0 0 0 3px rgba(247,216,125,.14);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
.v10-v2 .floating-infaq:before{content:"";position:absolute;inset:5px;border:1px solid rgba(246,210,112,.65);border-radius:14px;pointer-events:none}
.v10-v2 .has-info-panels .floating-infaq{right:21.7vw}
.v10-v2 .has-running-text .floating-infaq{bottom:23.8vh}
.v10-v2 .floating-infaq-title{position:relative;z-index:1;display:flex;align-items:center;justify-content:center;gap:.55vw;margin-bottom:.8vh;color:#f7d36b}
.v10-v2 .floating-infaq-title span{font-size:.48vw}.v10-v2 .floating-infaq-title h2{margin:0;color:#fff4d2;font-family:Georgia,'Times New Roman',serif;font-size:clamp(17px,1.18vw,24px);line-height:1.1}
.v10-v2 .floating-qris{position:relative;z-index:1;display:flex;flex-direction:column;align-items:center;gap:.35vh}
.v10-v2 .floating-qris img{display:block;width:7vw;height:7vw;min-width:105px;min-height:105px;max-width:142px;max-height:142px;padding:5px;object-fit:contain;background:#fff;border:2px solid #edcc72;border-radius:12px;box-shadow:0 6px 16px #0006}
.v10-v2 .floating-qris small{color:#f7d36b;font-size:clamp(9px,.55vw,12px);font-weight:900;letter-spacing:.12em}
.v10-v2 .floating-account{position:relative;z-index:1;margin:.75vh .35vw 0;padding:.7vh .55vw;border-top:1px solid rgba(239,202,104,.5);color:#fff8e6;font-size:clamp(11px,.72vw,15px);font-weight:700;line-height:1.22;white-space:pre-line;overflow-wrap:anywhere}
.v10-v2.content-playing .floating-infaq,.v10-v2.content-playing .tv2-running-text,.v10-v2.salat-active .floating-infaq,.v10-v2.salat-active .tv2-running-text{display:none!important}
@media(max-width:1000px){.v10-v2 .has-info-panels .floating-infaq{right:254px}.v10-v2 .floating-infaq{right:14px;min-width:220px}.v10-v2 .floating-qris img{width:105px;height:105px}.v10-v2 .tv2-running-text>strong{padding:0 18px}.v10-v2 .tv2-running-text span{font-size:14px}}

.admin-v16 .slider-duration-form{display:grid;grid-template-columns:minmax(0,1fr) 62px;gap:7px;align-items:end;margin-top:9px;padding:8px;border:1px solid #dce7e1;border-radius:9px;background:#f6faf7}
.admin-v16 .slider-duration-form label{display:grid;grid-template-columns:1fr auto;align-items:center;gap:2px 6px;font-size:10px;font-weight:800;color:#385246}.admin-v16 .slider-duration-form label span{font-size:9px;font-weight:600;color:#7a877f}.admin-v16 .slider-duration-form input{grid-column:1/3;width:100%;height:31px;padding:4px 8px;font-size:12px}.admin-v16 .slider-duration-form button{min-height:31px;padding:5px 7px;font-size:10px}
.admin-v16 .date-id-input,.admin-v16 .time-id-input{font-variant-numeric:tabular-nums;letter-spacing:.03em}
.admin-v16 .admin-infaq-settings>.admin-switch,.admin-v16 .admin-running-settings>.admin-switch{margin:12px 0 16px}
.admin-v16 .admin-infaq-grid{align-items:stretch}.admin-v16 .admin-infaq-grid textarea{min-height:102px}
.admin-v16 .admin-qris-preview{min-height:128px;display:flex;align-items:center;gap:14px;padding:12px;border:1px dashed #aec3b8;border-radius:12px;background:#f6faf7;color:#365247}
.admin-v16 .admin-qris-preview>img{width:104px;height:104px;object-fit:contain;padding:5px;border:1px solid #d1ded7;border-radius:10px;background:#fff}.admin-v16 .admin-qris-preview>div{display:flex;flex-direction:column;gap:5px}.admin-v16 .admin-qris-preview b{font-size:14px}.admin-v16 .admin-qris-preview small{font-size:11px;color:#748079}.admin-v16 .admin-qris-preview .checkline{margin-top:5px}.admin-v16 .admin-qris-empty{width:100%;align-items:center!important;justify-content:center;color:#7b8780;font-size:13px;font-weight:700}
.admin-v16 .admin-running-settings>label:last-child{display:flex;flex-direction:column;gap:7px;font-weight:800}.admin-v16 .admin-running-settings textarea{min-height:92px}
@media(max-width:700px){.admin-v16 .admin-qris-preview{min-height:110px}.admin-v16 .admin-qris-preview>img{width:90px;height:90px}}

/* V31 — panel kiwa-tengen ringkes, infaq lengkung, running text ing ngisor header */
.v10-v2 .tv2-main.floating-panels-layout{display:grid;grid-template-columns:minmax(0,1fr)}
.v10-v2 .floating-panels-layout .mosque-hero{margin:0;position:absolute;inset:0}
.v10-v2 .floating-panels-layout .prayer-strip-panel{left:1vw;right:1vw;bottom:1.4vh}
.v10-v2 .floating-info-panel{position:absolute;z-index:7;top:5.7vh;width:clamp(245px,16vw,310px);max-height:22vh;overflow:hidden;color:#fff;border:1.5px solid rgba(230,185,78,.88);border-radius:18px;background:linear-gradient(155deg,rgba(4,79,64,.70),rgba(2,44,38,.64));box-shadow:0 10px 26px #001c1770,inset 0 1px 0 #ffffff1f;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px)}
.v10-v2 .floating-agenda-panel{left:1.15vw}.v10-v2 .floating-announcement-panel{right:1.15vw}
.v10-v2 .floating-info-panel .card-head{height:5.1vh;min-height:40px;padding:0 .9vw;gap:.55vw;background:linear-gradient(90deg,rgba(3,61,51,.92),rgba(4,82,65,.82));border-bottom:1px solid rgba(229,185,82,.55)}
.v10-v2 .floating-info-panel .card-head>span{font-size:clamp(16px,1.15vw,22px)}.v10-v2 .floating-info-panel .card-head h2{font-size:clamp(17px,1.28vw,24px);color:#fff8e8;text-shadow:0 2px 5px #0008}
.v10-v2 .floating-info-panel .light-body{max-height:16.7vh;padding:.55vh .72vw;overflow:hidden;background:transparent}
.v10-v2 .floating-info-panel .announcement,.v10-v2 .floating-info-panel .agenda-row{border-bottom:1px dashed rgba(235,216,166,.35);padding:.58vh 0;color:#fff}.v10-v2 .floating-info-panel .announcement:last-child,.v10-v2 .floating-info-panel .agenda-row:last-child{border-bottom:0}
.v10-v2 .floating-info-panel .announcement b,.v10-v2 .floating-info-panel .agenda-text b{color:#fff;font-size:clamp(12px,.82vw,16px)}.v10-v2 .floating-info-panel .announcement p,.v10-v2 .floating-info-panel .agenda-text p{color:#eef8f3;font-size:clamp(10px,.67vw,13px);line-height:1.18}
.v10-v2 .floating-info-panel .number{width:1.45vw;height:1.45vw;min-width:24px;min-height:24px;background:#d3a83e;color:#15362b}.v10-v2 .floating-info-panel .date-badge{min-width:43px;padding:.35vh .25vw;background:rgba(217,172,62,.92);color:#17372d}.v10-v2 .floating-info-panel .date-badge b{font-size:clamp(13px,.86vw,17px)}.v10-v2 .floating-info-panel .date-badge span{font-size:clamp(8px,.48vw,10px);font-weight:900}
.v10-v2 .floating-info-panel .empty{padding:1.1vh .35vw;color:#f0f5f2;font-size:clamp(11px,.72vw,14px)}

.v10-v2 .floating-infaq{right:1.15vw;bottom:18.3vh;width:clamp(230px,13vw,260px);min-width:0;padding:2.7vh .72vw 1vh;border:1.5px solid rgba(235,193,89,.94);border-radius:130px 130px 23px 23px / 58px 58px 23px 23px;background:linear-gradient(165deg,rgba(4,83,66,.78),rgba(2,45,38,.73));box-shadow:0 13px 30px #001d1887,inset 0 1px 0 #ffffff26;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px)}
.v10-v2 .floating-infaq:before{inset:5px;border-color:rgba(246,210,112,.72);border-radius:122px 122px 17px 17px / 52px 52px 17px 17px}
.v10-v2 .has-info-panels .floating-infaq,.v10-v2 .has-running-text .floating-infaq{right:1.15vw;bottom:18.3vh}
.v10-v2 .floating-infaq-title{margin:0 0 .65vh;gap:.42vw}.v10-v2 .floating-infaq-title h2{font-size:clamp(16px,1.05vw,21px)}
.v10-v2 .floating-qris{gap:.25vh}.v10-v2 .floating-qris img{width:clamp(158px,9.4vw,184px);height:clamp(158px,9.4vw,184px);min-width:0;min-height:0;max-width:none;max-height:none;padding:5px;border-radius:10px}
.v10-v2 .floating-qris small{font-size:clamp(9px,.5vw,11px)}
.v10-v2 .floating-account{margin:.5vh .22vw 0;padding:.55vh .35vw .25vh;font-size:clamp(10px,.64vw,13px);line-height:1.14}

.v10-v2 .tv2-running-text{left:0;right:0;top:21vh;bottom:auto;height:3.7vh;min-height:32px;display:grid;grid-template-columns:minmax(0,1fr);background:linear-gradient(90deg,rgba(3,69,56,.32),rgba(5,88,68,.50),rgba(3,62,51,.32));border-top:0;border-bottom:1px solid rgba(228,186,78,.56);box-shadow:0 5px 14px #001b1738;-webkit-backdrop-filter:blur(2.5px);backdrop-filter:blur(2.5px)}
.v10-v2 .tv2-running-text>div{width:100%;height:100%;display:flex;align-items:center}
.v10-v2 .tv2-running-text span{padding-left:100%;color:#fff9e9;font-size:clamp(13px,.88vw,18px);font-weight:800;text-shadow:0 2px 6px #001d18,0 0 3px #001d18;animation-duration:34s}
.v10-v2 .has-running-text .prayer-strip-panel{bottom:1.4vh}
.v10-v2.content-playing .floating-info-panel,.v10-v2.salat-active .floating-info-panel{display:none!important}
@media(max-width:1000px){.v10-v2 .floating-info-panel{width:225px}.v10-v2 .floating-agenda-panel{left:12px}.v10-v2 .floating-announcement-panel{right:12px}.v10-v2 .floating-infaq,.v10-v2 .has-info-panels .floating-infaq,.v10-v2 .has-running-text .floating-infaq{right:12px;width:225px}.v10-v2 .floating-qris img{width:158px;height:158px}.v10-v2 .tv2-running-text span{font-size:13px}}

/* V32 — nyegah panel tabrakan lan running text tanpa latar */
.v10-v2 .floating-infaq{width:10.5vw;min-width:170px;max-width:210px;padding:2vh .48vw .65vh;border-radius:105px 105px 19px 19px / 46px 46px 19px 19px}
.v10-v2 .floating-infaq:before{inset:4px;border-radius:100px 100px 14px 14px / 42px 42px 14px 14px}
.v10-v2 .floating-infaq-title{margin-bottom:.38vh;gap:.25vw}.v10-v2 .floating-infaq-title h2{font-size:clamp(14px,.88vw,18px)}.v10-v2 .floating-infaq-title span{font-size:.34vw}
.v10-v2 .floating-qris img{width:7.3vw;height:7.3vw;min-width:125px;min-height:125px;max-width:150px;max-height:150px;padding:3px;border-width:1.5px;border-radius:8px}
.v10-v2 .floating-qris small{font-size:clamp(8px,.43vw,10px);letter-spacing:.1em}
.v10-v2 .floating-account{margin:.32vh .12vw 0;padding:.38vh .2vw .12vh;font-size:clamp(9px,.55vw,11px);line-height:1.08}
.v10-v2 .tv2-running-text{top:17.2vh;height:3.1vh;min-height:0;background:transparent;border:0;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;pointer-events:none}
.v10-v2 .tv2-running-text span{font-size:clamp(12px,.82vw,17px);color:#fffbe9;text-shadow:0 2px 5px #001c18,0 0 7px #001c18,1px 1px 1px #001c18}
@media(max-width:1000px){.v10-v2 .floating-info-panel{width:190px}.v10-v2 .floating-infaq,.v10-v2 .has-info-panels .floating-infaq,.v10-v2 .has-running-text .floating-infaq{width:180px;min-width:180px;max-width:180px;padding:14px 7px 6px}.v10-v2 .floating-infaq-title h2{font-size:15px}.v10-v2 .floating-qris img{width:125px;height:125px;min-width:125px;min-height:125px}.v10-v2 .floating-account{font-size:9px}.v10-v2 .tv2-running-text span{font-size:12px}}
