*{box-sizing:border-box}body{margin:0;font-family:Inter,Arial,sans-serif;background:#f3f6f8;color:#17212b}a{text-decoration:none;color:inherit}.admin{display:flex;min-height:100vh}.side{width:245px;background:#0d4f3b;color:#fff;padding:18px 12px;position:sticky;top:0;height:100vh;overflow:auto}.brand{padding:10px 12px 20px;font-size:19px}.brand small{display:block;opacity:.65;font-size:10px;margin-top:4px}.side a{display:block;padding:10px 12px;border-radius:9px;margin:2px 0;font-size:14px}.side a:hover{background:#176a50}.main{flex:1;padding:22px;min-width:0}.top{display:flex;justify-content:space-between;background:#fff;padding:14px 18px;border-radius:12px;margin-bottom:18px;box-shadow:0 2px 10px #0000000a}.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:15px}.stat,.box,.card{background:#fff;border-radius:14px;padding:18px;box-shadow:0 3px 14px #0000000b}.stat b{font-size:27px;display:block;margin-top:8px}.form{display:grid;gap:10px}.form input,.form select,.form textarea{width:100%;padding:10px;border:1px solid #d9e0e4;border-radius:8px;font:inherit}.form textarea{min-height:100px}.btn{background:#0d4f3b;color:#fff;border:0;border-radius:8px;padding:10px 16px;cursor:pointer}.btn.alt{background:#e9eef0;color:#17212b}.table{width:100%;border-collapse:collapse}.table th,.table td{padding:10px;border-bottom:1px solid #e7ecef;text-align:left;font-size:13px}.notice{background:#e7f7ee;padding:11px;border-radius:8px;margin-bottom:14px}.err{background:#ffe8e8;color:#9b1c1c;padding:11px;border-radius:8px;margin-bottom:14px}.muted{color:#71808b;font-size:13px}.center{min-height:100vh;display:grid;place-items:center;padding:20px}.install{width:min(520px,100%)}hr{border:0;border-top:1px solid #eee;width:100%}.hero{min-height:380px;background-size:cover;background-position:center;display:grid;place-items:center;text-align:center;color:#fff;padding:30px;position:relative}.hero:before{content:"";position:absolute;inset:0;background:#0008}.hero>*{position:relative}.site-nav{background:#0d4f3b;color:#fff;padding:14px 5%;display:flex;justify-content:space-between;align-items:center}.container{max-width:1200px;margin:auto;padding:25px}.marquee{background:#f1c40f;padding:9px;font-weight:600}.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:18px}.pill{display:inline-block;background:#e5f2ed;padding:4px 9px;border-radius:99px;font-size:12px}@media(max-width:800px){.side{width:70px}.side a{font-size:0;text-align:center}.brand b,.brand small{display:none}.main{padding:12px}}

/* Responsive public website */
html{font-size:16px;overflow-x:hidden}body{overflow-x:hidden;max-width:100vw}
img{max-width:100%;height:auto}
.site-nav{min-height:60px;padding:12px clamp(16px,4vw,64px);gap:16px;flex-wrap:wrap}
.site-nav b{font-size:clamp(16px,2vw,21px);min-width:0;overflow-wrap:anywhere}
.site-nav a{padding:8px 12px;border-radius:8px;background:#176a50;white-space:nowrap}
.marquee{width:100%;overflow:hidden}
.hero{width:100%;min-height:clamp(220px,36vw,420px);max-height:520px;background-size:cover;background-repeat:no-repeat;padding:clamp(24px,5vw,60px);overflow:hidden}
.hero h1{font-size:clamp(28px,5vw,56px);line-height:1.08;margin:.2em 0}
.hero p{font-size:clamp(15px,2vw,22px);margin:0;max-width:760px}
.container{width:100%;max-width:1200px;padding:clamp(18px,3vw,32px);overflow:hidden}
.container h2{font-size:clamp(20px,2.5vw,30px);margin-top:28px}
.cards{grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:14px}
.card{min-width:0;overflow-wrap:anywhere}
.box{min-width:0;overflow-wrap:anywhere}
.table-wrap{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
.table{min-width:650px}
@media(max-width:700px){
 .site-nav{padding:10px 14px}
 .site-nav a{font-size:13px}
 .hero{min-height:210px;max-height:320px}
 .container{padding:16px}
 .cards{grid-template-columns:1fr}
 .card,.box{padding:14px;border-radius:10px}
}
@media(max-width:480px){
 .site-nav{align-items:center}
 .site-nav b{flex:1}
 .site-nav a{font-size:12px;padding:7px 9px}
 .hero{min-height:190px}
}

/* Professional public header/footer and logo sizing - preserves configured logo */
.site-brand{display:flex;align-items:center;gap:12px;min-width:0}.site-brand img{width:58px;height:58px;object-fit:contain;display:block;flex:0 0 auto}.site-brand b{line-height:1.2}.logo-fallback{font-size:42px;line-height:1}.site-footer{margin-top:48px;background:#0d4f3b;color:#fff}.footer-inner{width:100%;max-width:1200px;margin:0 auto;padding:34px clamp(18px,3vw,32px);display:grid;grid-template-columns:minmax(0,1.5fr) minmax(260px,1fr);gap:32px}.footer-brand{display:flex;align-items:center;gap:16px;min-width:0}.footer-brand img{width:82px;height:82px;object-fit:contain;display:block;flex:0 0 auto}.footer-brand strong{font-size:clamp(20px,2.5vw,28px)}.footer-brand p,.footer-contact p{margin:6px 0 0;opacity:.85;line-height:1.6}.footer-contact strong{font-size:17px}.footer-bottom{border-top:1px solid rgba(255,255,255,.15);text-align:center;padding:14px 18px;font-size:13px;opacity:.8}.footer-contact{min-width:0;overflow-wrap:anywhere}@media(max-width:700px){.site-brand img{width:52px;height:52px}.logo-fallback{font-size:36px}.footer-inner{grid-template-columns:1fr;gap:20px;padding:28px 16px}.footer-brand img{width:68px;height:68px}}@media(max-width:480px){.site-nav b{font-size:16px}.site-brand{gap:9px}.site-brand img{width:48px;height:48px}.footer-brand img{width:62px;height:62px}}

.admin-brand-logo{display:flex;justify-content:center;margin-bottom:10px}.admin-brand-logo img{width:78px;height:78px;object-fit:contain}.brand b{display:block;text-align:center}@media(max-width:800px){.admin-brand-logo img{width:42px;height:42px}.brand{padding:8px 4px 16px}}

/* KUD themes: 3 solid + 2 transparent */
.theme-blue{--accent:#1558a6;--accent2:#2374d8;--surface:#fff;--page:#f3f7fc;--text:#182431}.theme-blue .side,.theme-blue .site-nav,.theme-blue .site-footer{background:var(--accent)}.theme-blue .side a:hover,.theme-blue .site-nav a{background:var(--accent2)}.theme-blue .btn{background:var(--accent)}.theme-blue body{background:var(--page)}
.theme-dark{--accent:#18202a;--accent2:#2d3a48;--surface:#202a35;--page:#111820;--text:#eef4f8}.theme-dark{background:var(--page);color:var(--text)}.theme-dark .side,.theme-dark .site-nav,.theme-dark .site-footer{background:var(--accent)}.theme-dark .top,.theme-dark .stat,.theme-dark .box,.theme-dark .card{background:var(--surface);color:var(--text)}.theme-dark .form input,.theme-dark .form select,.theme-dark .form textarea{background:#18222c;color:#fff;border-color:#465463}.theme-dark .muted{color:#aab7c3}.theme-dark .site-nav a{background:var(--accent2)}
.theme-glass{background:linear-gradient(135deg,#dbeafe,#eefdf7);color:#183027;background-attachment:fixed}.theme-glass .side,.theme-glass .site-nav,.theme-glass .site-footer{background:rgba(13,79,59,.72);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}.theme-glass .top,.theme-glass .stat,.theme-glass .box,.theme-glass .card{background:rgba(255,255,255,.60);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.55)}.theme-glass .site-nav a{background:rgba(23,106,80,.62)}
.theme-glass-green{background:linear-gradient(135deg,#dff7ec,#f6fbf8);color:#153a2c;background-attachment:fixed}.theme-glass-green .side,.theme-glass-green .site-nav,.theme-glass-green .site-footer{background:rgba(6,74,54,.68);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}.theme-glass-green .top,.theme-glass-green .stat,.theme-glass-green .box,.theme-glass-green .card{background:rgba(255,255,255,.52);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border:1px solid rgba(255,255,255,.6)}.theme-glass-green .site-nav a{background:rgba(28,126,93,.55)}
.theme-blue .main{background:#f3f7fc}.theme-green{background:#f3f6f8}.theme-dark .main{background:transparent}.theme-glass .main,.theme-glass-green .main{background:transparent}


/* FINAL THEME ENGINE v4.0.2 - applies to both public and admin pages */
body.theme-green{--accent:#0d4f3b;--accent2:#176a50;--surface:#fff;--page:#f3f6f8;--text:#17212b;background:var(--page);color:var(--text)}
body.theme-green .side,body.theme-green .site-nav,body.theme-green .site-footer{background:var(--accent);color:#fff}
body.theme-green .side a:hover,body.theme-green .site-nav a{background:var(--accent2)}
body.theme-green .btn{background:var(--accent)}

body.theme-blue{--accent:#1558a6;--accent2:#2374d8;--surface:#fff;--page:#f3f7fc;--text:#182431;background:var(--page);color:var(--text)}
body.theme-blue .side,body.theme-blue .site-nav,body.theme-blue .site-footer{background:var(--accent);color:#fff}
body.theme-blue .side a:hover,body.theme-blue .site-nav a{background:var(--accent2)}
body.theme-blue .btn{background:var(--accent)}
body.theme-blue .top,body.theme-blue .stat,body.theme-blue .box,body.theme-blue .card{background:var(--surface);color:var(--text)}

body.theme-dark{--accent:#151d26;--accent2:#2d3a48;--surface:#202a35;--page:#0f151b;--text:#eef4f8;background:var(--page);color:var(--text)}
body.theme-dark .side,body.theme-dark .site-nav,body.theme-dark .site-footer{background:var(--accent);color:#fff}
body.theme-dark .side a:hover,body.theme-dark .site-nav a{background:var(--accent2)}
body.theme-dark .main{background:transparent}
body.theme-dark .top,body.theme-dark .stat,body.theme-dark .box,body.theme-dark .card{background:var(--surface);color:var(--text);border-color:#34424f}
body.theme-dark .form input,body.theme-dark .form select,body.theme-dark .form textarea{background:#18222c;color:#fff;border-color:#465463}
body.theme-dark .table th,body.theme-dark .table td{border-color:#34424f}
body.theme-dark .muted{color:#aab7c3}
body.theme-dark .pill{background:#2d3a48;color:#fff}

body.theme-glass{--accent:rgba(13,79,59,.76);--accent2:rgba(23,106,80,.68);--surface:rgba(255,255,255,.60);--page:#dbeafe;--text:#183027;background:linear-gradient(135deg,#dbeafe,#eefdf7);background-attachment:fixed;color:var(--text)}
body.theme-glass .side,body.theme-glass .site-nav,body.theme-glass .site-footer{background:var(--accent);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);color:#fff}
body.theme-glass .side a:hover,body.theme-glass .site-nav a{background:var(--accent2)}
body.theme-glass .top,body.theme-glass .stat,body.theme-glass .box,body.theme-glass .card{background:var(--surface);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.55);color:var(--text)}
body.theme-glass .main{background:transparent}

body.theme-glass-green{--accent:rgba(6,74,54,.72);--accent2:rgba(28,126,93,.58);--surface:rgba(255,255,255,.54);--page:#dff7ec;--text:#153a2c;background:linear-gradient(135deg,#dff7ec,#f6fbf8);background-attachment:fixed;color:var(--text)}
body.theme-glass-green .side,body.theme-glass-green .site-nav,body.theme-glass-green .site-footer{background:var(--accent);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);color:#fff}
body.theme-glass-green .side a:hover,body.theme-glass-green .site-nav a{background:var(--accent2)}
body.theme-glass-green .top,body.theme-glass-green .stat,body.theme-glass-green .box,body.theme-glass-green .card{background:var(--surface);backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);border:1px solid rgba(255,255,255,.6);color:var(--text)}
body.theme-glass-green .main{background:transparent}

/* Keep configured logo, only enlarge it in admin */
.admin-brand-logo img{width:88px;height:88px;object-fit:contain;display:block}
.admin-brand-logo{min-height:88px;align-items:center}
@media(max-width:800px){.admin-brand-logo img{width:58px;height:58px}.admin-brand-logo{min-height:58px}}


/* Right transparent navigation sidebar */
.nav-actions{display:flex;align-items:center;gap:8px}.sidebar-toggle{border:0;background:rgba(255,255,255,.16);color:#fff;padding:9px 13px;border-radius:9px;cursor:pointer;font:inherit}.public-sidebar{position:fixed;z-index:1000;top:0;right:0;width:min(340px,88vw);height:100vh;padding:22px 18px;background:rgba(13,79,59,.72);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);border-left:1px solid rgba(255,255,255,.25);box-shadow:-12px 0 35px rgba(0,0,0,.18);color:#fff;transform:translateX(110%);transition:transform .28s ease;overflow:auto}.sidebar-open .public-sidebar{transform:translateX(0)}.sidebar-backdrop{display:none;position:fixed;inset:0;z-index:999;border:0;background:rgba(0,0,0,.22);backdrop-filter:blur(2px)}.sidebar-open .sidebar-backdrop{display:block}.sidebar-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:4px 2px 18px;border-bottom:1px solid rgba(255,255,255,.2);font-size:20px}.sidebar-head button{width:38px;height:38px;border:0;border-radius:50%;background:rgba(255,255,255,.15);color:#fff;font-size:26px;cursor:pointer}.sidebar-links{display:grid;gap:9px;padding-top:16px}.sidebar-links a{padding:13px 14px;border-radius:12px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.12);transition:.2s}.sidebar-links a:hover{background:rgba(255,255,255,.22);transform:translateX(-2px)}.settings-section{margin-top:8px;padding:16px;border:1px solid #e1e7ea;border-radius:12px;background:#f8fafb}.settings-section h3{margin:0 0 7px}.settings-section textarea{min-height:100px}.check-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.check-grid label{background:#fff;padding:9px;border:1px solid #e3e8eb;border-radius:8px}.theme-dark .settings-section,.theme-glass .settings-section,.theme-glass-green .settings-section{background:rgba(255,255,255,.12);color:inherit;border-color:rgba(255,255,255,.25)}@media(max-width:700px){.nav-actions a{display:none}.sidebar-toggle{padding:8px 11px}.public-sidebar{width:min(320px,92vw)}.check-grid{grid-template-columns:1fr}}

/* Main content + right transparent information column */
.content-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(250px,320px);gap:22px;align-items:start}
.content-main{min-width:0}
.content-right-column{min-width:0;position:sticky;top:18px;border-radius:18px;padding:1px;background:linear-gradient(135deg,rgba(255,255,255,.55),rgba(255,255,255,.16));border:1px solid rgba(255,255,255,.5);box-shadow:0 10px 35px rgba(0,0,0,.10);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}
.right-column-inner{border-radius:17px;padding:20px;background:rgba(255,255,255,var(--right-opacity));backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px);overflow-wrap:anywhere}
.right-column-inner h2{margin:0 0 12px;font-size:21px}
.right-column-content{line-height:1.7;color:inherit;white-space:normal}
body.theme-dark .right-column-inner{background:rgba(32,42,53,var(--right-opacity));border:1px solid rgba(255,255,255,.12)}
body.theme-glass .right-column-inner,body.theme-glass-green .right-column-inner{background:rgba(255,255,255,var(--right-opacity))}
@media(max-width:900px){.content-layout{grid-template-columns:minmax(0,1fr) 250px;gap:16px}.right-column-inner{padding:16px}.right-column-inner h2{font-size:19px}}
@media(max-width:700px){.content-layout{grid-template-columns:1fr}.content-right-column{position:relative;top:auto}.right-column-inner{padding:15px}}

/* Main Content: tema transparan pekat, mengikuti warna tema */
body.theme-green .main{background:rgba(13,79,59,.88);color:#fff;border-radius:20px;padding:22px;box-shadow:inset 0 0 0 1px rgba(255,255,255,.10),0 10px 30px rgba(0,0,0,.10)}
body.theme-blue .main{background:rgba(21,88,166,.88);color:#fff;border-radius:20px;padding:22px;box-shadow:inset 0 0 0 1px rgba(255,255,255,.10),0 10px 30px rgba(0,0,0,.10)}
body.theme-dark .main{background:rgba(21,29,38,.92);color:#eef4f8;border-radius:20px;padding:22px;box-shadow:inset 0 0 0 1px rgba(255,255,255,.08),0 10px 30px rgba(0,0,0,.25)}
body.theme-glass .main{background:rgba(13,79,59,.78);color:#fff;border-radius:20px;padding:22px;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);border:1px solid rgba(255,255,255,.20);box-shadow:0 12px 35px rgba(0,0,0,.14)}
body.theme-glass-green .main{background:rgba(6,74,54,.76);color:#fff;border-radius:20px;padding:22px;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px);border:1px solid rgba(255,255,255,.22);box-shadow:0 12px 35px rgba(0,0,0,.14)}
body.theme-green .main .muted,body.theme-blue .main .muted,body.theme-glass .main .muted,body.theme-glass-green .main .muted{color:rgba(255,255,255,.78)}
body.theme-green .main .card,body.theme-blue .main .card{background:rgba(255,255,255,.93)}
@media(max-width:800px){body.theme-green .main,body.theme-blue .main,body.theme-dark .main,body.theme-glass .main,body.theme-glass-green .main{padding:14px;border-radius:14px}}


/* ADMIN SIDEBAR PRO: fixed boundary, independent menu scrolling, compact developer footer */
.admin{min-height:100vh;align-items:stretch}
.side{width:245px;height:100vh;min-height:100vh;position:sticky;top:0;display:flex;flex-direction:column;overflow:hidden;padding:14px 10px 10px}
.side .brand{flex:0 0 auto;padding:10px 12px 16px}
.side-nav-scroll{flex:1 1 auto;min-height:0;overflow-y:auto;overflow-x:hidden;padding:0 2px 8px;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.28) transparent}
.side-nav-scroll::-webkit-scrollbar{width:6px}.side-nav-scroll::-webkit-scrollbar-track{background:transparent}.side-nav-scroll::-webkit-scrollbar-thumb{background:rgba(255,255,255,.28);border-radius:99px}
.side-nav-links{display:grid;gap:2px}.side-nav-links a{flex:0 0 auto}
.admin-side-footer{flex:0 0 auto;text-align:center;border-top:1px solid rgba(255,255,255,.16);padding:10px 5px 4px;margin-top:4px;font-size:10px;line-height:1.45;opacity:.78}.admin-side-footer span{font-size:9px;opacity:.85}
.main{min-width:0;min-height:100vh}
@media(max-width:800px){.side{width:70px;padding:8px 6px}.side-nav-scroll{padding-left:0;padding-right:0}.admin-side-footer{font-size:0;padding:8px 2px}.admin-side-footer span{display:none}.side a{white-space:nowrap;overflow:hidden}.side-nav-links a{font-size:0;text-align:center;padding:10px 5px}.side-nav-links a:first-letter{font-size:16px}}


/* Admin footer - compact developer credit */
.admin-footer{margin-top:auto;padding:18px 6px 4px;text-align:center;color:inherit;opacity:.72}
.admin-footer-line{display:inline-block;padding-top:12px;border-top:1px solid currentColor;font-size:11px;line-height:1.5}
.admin-footer-line span{margin:0 5px;opacity:.65}
body.theme-green .admin-footer,body.theme-blue .admin-footer,body.theme-glass .admin-footer,body.theme-glass-green .admin-footer{color:rgba(255,255,255,.9)}
body.theme-dark .admin-footer{color:rgba(238,244,248,.82)}
@media(max-width:800px){.admin-footer{padding-top:12px}.admin-footer-line{font-size:9px;max-width:100%;white-space:normal}.admin-footer-line span{margin:0 3px}}


/* V14 ADMIN LAYOUT: independent scrolling with a fixed footer boundary */
html, body { height: 100%; min-height: 100%; }
body { overflow: hidden; }
.admin {
  height: 100vh;
  min-height: 0;
  display: flex;
  overflow: hidden;
}
.admin .side {
  flex: 0 0 245px;
  height: 100vh;
  min-height: 0;
  position: sticky;
  top: 0;
  overflow: hidden;
  display: flex;
  flex-direction: column;
}
.admin .side-nav-scroll {
  flex: 1 1 auto;
  min-height: 0;
  overflow-y: auto;
  overflow-x: hidden;
  scrollbar-width: thin;
  scrollbar-color: rgba(255,255,255,.28) transparent;
}
.admin .side-nav-scroll::-webkit-scrollbar { width: 5px; }
.admin .side-nav-scroll::-webkit-scrollbar-track { background: transparent; }
.admin .side-nav-scroll::-webkit-scrollbar-thumb {
  background: rgba(255,255,255,.28);
  border-radius: 99px;
}
.admin .admin-side-footer {
  flex: 0 0 auto;
  min-height: 58px;
  padding: 8px 8px 7px;
  margin-top: 6px;
  border-top: 1px solid rgba(255,255,255,.18);
  font-size: 10px;
  line-height: 1.3;
  text-align: left;
  background: rgba(0,0,0,.10);
}
.admin .admin-side-footer span { opacity: .85; }

.admin .main {
  height: 100vh;
  min-height: 0;
  overflow-y: auto;
  overflow-x: hidden;
  display: flex;
  flex-direction: column;
  scrollbar-width: thin;
  scrollbar-color: rgba(13,79,59,.35) transparent;
}
.admin .main::-webkit-scrollbar { width: 7px; }
.admin .main::-webkit-scrollbar-track { background: transparent; }
.admin .main::-webkit-scrollbar-thumb {
  background: rgba(13,79,59,.30);
  border-radius: 99px;
}

/* Straight blue separator: the footer stays within the main-content boundary */
.admin .admin-footer {
  position: sticky;
  bottom: 0;
  z-index: 20;
  flex: 0 0 auto;
  width: calc(100% + 44px);
  margin: 22px -22px -22px;
  min-height: 44px;
  display: flex;
  align-items: center;
  background: rgba(7,75,55,.90);
  color: #fff;
  border-top: 4px solid #0878d1;
  box-shadow: 0 -5px 18px rgba(0,0,0,.08);
  backdrop-filter: blur(10px);
  -webkit-backdrop-filter: blur(10px);
}
.admin .admin-footer-line {
  width: 100%;
  padding: 9px 22px;
  font-size: 11px;
  line-height: 1.35;
  text-align: center;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.admin .admin-footer-line span { opacity: .9; margin: 0 4px; }

@media (max-width: 800px) {
  .admin .side { flex-basis: 70px; }
  .admin .admin-footer { width: calc(100% + 24px); margin-left: -12px; margin-right: -12px; margin-bottom: -12px; }
  .admin .admin-footer-line { padding: 8px 12px; font-size: 10px; }
}


/* V15 ADMIN: full-width footer spanning sidebar and main, independent scroll boundaries */
html, body { height: 100%; min-height: 100%; }
body { overflow: hidden; }
.admin {
  height: 100vh;
  min-height: 0;
  display: grid;
  grid-template-columns: 245px minmax(0, 1fr);
  grid-template-rows: minmax(0, 1fr) 48px;
  overflow: hidden;
  align-items: stretch;
}
.admin .side {
  grid-column: 1; grid-row: 1;
  width: 245px; height: auto; min-height: 0;
  position: relative; top: auto;
  overflow: hidden;
  display: flex; flex-direction: column;
  padding: 14px 10px 10px;
}
.admin .side .brand { flex: 0 0 auto; cursor: pointer; position: relative; z-index: 20; pointer-events: auto; }
.admin .side .brand * { pointer-events: none; }
.admin .side-nav-scroll {
  flex: 1 1 auto; min-height: 0;
  overflow-y: auto; overflow-x: hidden;
  scrollbar-width: thin;
  scrollbar-color: rgba(255,255,255,.28) transparent;
}
.admin .side-nav-scroll::-webkit-scrollbar { width: 5px; }
.admin .side-nav-scroll::-webkit-scrollbar-track { background: transparent; }
.admin .side-nav-scroll::-webkit-scrollbar-thumb { background: rgba(255,255,255,.28); border-radius: 99px; }
.admin .main {
  grid-column: 2; grid-row: 1;
  height: auto; min-height: 0;
  overflow-y: auto; overflow-x: hidden;
  display: flex; flex-direction: column;
  scrollbar-width: thin;
  scrollbar-color: rgba(13,79,59,.35) transparent;
}
.admin .main::-webkit-scrollbar { width: 7px; }
.admin .main::-webkit-scrollbar-track { background: transparent; }
.admin .main::-webkit-scrollbar-thumb { background: rgba(13,79,59,.30); border-radius: 99px; }
.admin > .admin-footer {
  grid-column: 1 / -1; grid-row: 2;
  position: relative; z-index: 50;
  width: 100%; height: 48px; min-height: 48px;
  margin: 0;
  display: flex; align-items: center; justify-content: center;
  background: rgba(7,75,55,.94);
  color: #fff;
  border-top: 4px solid #0878d1;
  box-shadow: 0 -4px 16px rgba(0,0,0,.10);
  backdrop-filter: blur(10px); -webkit-backdrop-filter: blur(10px);
}
.admin > .admin-footer .admin-footer-line {
  width: 100%; padding: 7px 20px;
  border-top: 0;
  font-size: 11px; line-height: 1.25;
  text-align: center; white-space: nowrap; overflow: hidden; text-overflow: ellipsis;
}
.admin > .admin-footer .admin-footer-line span { opacity: .9; margin: 0 4px; }
.admin .admin-side-footer { display: none !important; }

@media (max-width: 800px) {
  .admin { grid-template-columns: 70px minmax(0,1fr); grid-template-rows: minmax(0,1fr) 44px; }
  .admin .side { width: 70px; padding: 8px 6px; }
  .admin > .admin-footer { height: 44px; min-height: 44px; }
  .admin > .admin-footer .admin-footer-line { padding: 7px 10px; font-size: 10px; }
}
@media (max-width: 480px) {
  .admin { grid-template-columns: 62px minmax(0,1fr); grid-template-rows: minmax(0,1fr) 42px; }
  .admin .side { width: 62px; }
  .admin > .admin-footer { height: 42px; min-height: 42px; }
  .admin > .admin-footer .admin-footer-line { font-size: 9px; padding: 6px 7px; }
}


/* V16 FINAL ADMIN FOOTER: footer is a sibling of .admin, so it is always visible.
   Sidebar and main content scroll independently above a fixed full-width footer. */
html, body.admin-page { width:100%; height:100%; min-height:100%; margin:0; }
body.admin-page { overflow:hidden; display:flex; flex-direction:column; }
body.admin-page > .admin {
  flex:1 1 auto;
  height:auto;
  min-height:0;
  width:100%;
  display:grid;
  grid-template-columns:245px minmax(0,1fr);
  grid-template-rows:minmax(0,1fr);
  overflow:hidden;
}
body.admin-page > .admin > .side {
  grid-column:1; grid-row:1;
  width:auto; height:100%; min-height:0;
  overflow:hidden;
  display:flex; flex-direction:column;
}
body.admin-page > .admin > .main {
  grid-column:2; grid-row:1;
  width:auto; height:100%; min-height:0;
  overflow-y:auto; overflow-x:hidden;
  display:flex; flex-direction:column;
}
body.admin-page > .admin-footer {
  position:relative;
  z-index:100;
  flex:0 0 48px;
  width:100%;
  height:48px;
  min-height:48px;
  margin:0;
  padding:0;
  display:flex;
  align-items:center;
  justify-content:center;
  background:rgba(7,75,55,.94);
  color:#fff;
  border-top:4px solid #0878d1;
  box-shadow:0 -4px 16px rgba(0,0,0,.12);
  backdrop-filter:blur(10px);
  -webkit-backdrop-filter:blur(10px);
}
body.admin-page > .admin-footer .admin-footer-line {
  width:100%;
  padding:7px 20px;
  border:0;
  margin:0;
  text-align:center;
  font-size:11px;
  line-height:1.25;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
  opacity:1;
}
body.admin-page > .admin-footer .admin-footer-line span { opacity:.9; margin:0 4px; }
body.theme-blue.admin-page > .admin-footer { background:rgba(21,88,166,.94); }
body.theme-dark.admin-page > .admin-footer { background:rgba(24,32,42,.96); }
body.theme-glass.admin-page > .admin-footer { background:rgba(13,79,59,.78); backdrop-filter:blur(14px); -webkit-backdrop-filter:blur(14px); }
body.theme-glass-green.admin-page > .admin-footer { background:rgba(6,74,54,.78); backdrop-filter:blur(16px); -webkit-backdrop-filter:blur(16px); }
@media (max-width:800px) {
  body.admin-page > .admin { grid-template-columns:70px minmax(0,1fr); }
  body.admin-page > .admin > .side { width:auto; padding:8px 6px; }
  body.admin-page > .admin-footer { flex-basis:44px; height:44px; min-height:44px; }
  body.admin-page > .admin-footer .admin-footer-line { padding:7px 10px; font-size:10px; }
}
@media (max-width:480px) {
  body.admin-page > .admin { grid-template-columns:62px minmax(0,1fr); }
  body.admin-page > .admin > .side { width:auto; }
  body.admin-page > .admin-footer { flex-basis:42px; height:42px; min-height:42px; }
  body.admin-page > .admin-footer .admin-footer-line { padding:6px 7px; font-size:9px; }
}


/* V17 RESPONSIVE: desktop, tablet, and phone admin layout */
.admin-page, .admin-page * { min-width: 0; }
.admin-page .main { overscroll-behavior: contain; }
.admin-page .grid, .admin-page .cards { width: 100%; }
.admin-page .table-wrap { width: 100%; overflow-x: auto; -webkit-overflow-scrolling: touch; }

@media (max-width: 1100px) {
  body.admin-page > .admin { grid-template-columns: 210px minmax(0,1fr); }
  body.admin-page > .admin > .side { width: auto; }
  body.admin-page > .admin > .main { padding: 16px; }
  body.admin-page .top { gap: 10px; flex-wrap: wrap; }
  body.admin-page .grid { grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: 10px; }
  body.admin-page .stat { padding: 14px; }
  body.admin-page .stat b { font-size: 23px; }
}

@media (max-width: 800px) {
  body.admin-page > .admin { grid-template-columns: 68px minmax(0,1fr); }
  body.admin-page > .admin > .side { width: 68px; padding: 8px 5px; }
  body.admin-page > .admin > .main { padding: 10px; }
  body.admin-page .brand { padding: 7px 2px 12px; font-size: 0; }
  body.admin-page .brand b, body.admin-page .brand small { display: none; }
  body.admin-page .admin-brand-logo { margin-bottom: 0; }
  body.admin-page .admin-brand-logo img { width: 46px; height: 46px; }
  body.admin-page .logo-fallback { font-size: 34px; }
  body.admin-page .side-nav-links a { font-size: 0; text-align: center; padding: 10px 3px; margin: 2px 0; white-space: nowrap; overflow: hidden; }
  body.admin-page .side-nav-links a::first-letter { font-size: 17px; }
  body.admin-page .top { padding: 11px 12px; margin-bottom: 10px; border-radius: 10px; }
  body.admin-page .grid { grid-template-columns: repeat(2, minmax(0,1fr)); gap: 8px; }
  body.admin-page .stat { padding: 11px; border-radius: 10px; }
  body.admin-page .stat b { font-size: 20px; }
  body.admin-page .box, body.admin-page .card { padding: 13px; border-radius: 11px; }
  body.admin-page .form input, body.admin-page .form select, body.admin-page .form textarea { font-size: 16px; }
  body.admin-page > .admin-footer { flex-basis: 44px; height: 44px; min-height: 44px; }
  body.admin-page > .admin-footer .admin-footer-line { font-size: 10px; padding: 7px 8px; }
}

@media (max-width: 520px) {
  body.admin-page > .admin { grid-template-columns: 58px minmax(0,1fr); }
  body.admin-page > .admin > .side { width: 58px; padding: 7px 4px; }
  body.admin-page > .admin > .main { padding: 8px; }
  body.admin-page .admin-brand-logo img { width: 40px; height: 40px; }
  body.admin-page .side-nav-links a { padding: 9px 2px; }
  body.admin-page .side-nav-links a::first-letter { font-size: 15px; }
  body.admin-page .grid { grid-template-columns: 1fr 1fr; gap: 7px; }
  body.admin-page .stat { padding: 9px; font-size: 11px; }
  body.admin-page .stat b { font-size: 18px; margin-top: 5px; }
  body.admin-page .top { font-size: 12px; }
  body.admin-page .top .muted { font-size: 11px; }
  body.admin-page .box, body.admin-page .card { padding: 11px; }
  body.admin-page h1 { font-size: 22px; }
  body.admin-page h2 { font-size: 19px; }
  body.admin-page h3 { font-size: 16px; }
  body.admin-page .table { min-width: 620px; }
  body.admin-page > .admin-footer { flex-basis: 40px; height: 40px; min-height: 40px; }
  body.admin-page > .admin-footer .admin-footer-line { font-size: 8.5px; padding: 6px 5px; }
}

/* Avoid fixed-width controls forcing horizontal scroll on small screens */
@media (max-width: 800px) {
  body.admin-page input, body.admin-page select, body.admin-page textarea, body.admin-page button { max-width: 100%; }
  body.admin-page .table-wrap { margin-right: 0; }
}

/* V18 FIX: admin content and sidebar scroll independently while full-width footer stays visible */
html, body { height:100%; min-height:100%; }
body.admin-page { overflow:hidden; }
body.admin-page > .admin {
  height:calc(100vh - 48px);
  min-height:0;
  overflow:hidden;
}
body.admin-page > .admin > .side,
body.admin-page > .admin > .main {
  height:100%;
  min-height:0;
}
body.admin-page > .admin > .side { overflow:hidden; }
body.admin-page > .admin > .side .side-nav-scroll {
  min-height:0;
  overflow-y:auto;
  overflow-x:hidden;
  flex:1 1 auto;
  -webkit-overflow-scrolling:touch;
}
body.admin-page > .admin > .main {
  overflow-y:auto;
  overflow-x:hidden;
  -webkit-overflow-scrolling:touch;
}
body.admin-page > .admin-footer {
  position:fixed;
  left:0;
  right:0;
  bottom:0;
  z-index:9999;
  width:100%;
  height:48px;
  min-height:48px;
  margin:0;
  display:flex;
  align-items:center;
  justify-content:center;
  border-top:4px solid #0878d1;
  box-sizing:border-box;
}
body.admin-page > .admin-footer .admin-footer-line {
  width:100%;
  padding:7px 20px;
  text-align:center;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
  border-top:0;
}
@media (max-width:800px) {
  body.admin-page > .admin { height:calc(100vh - 44px); }
  body.admin-page > .admin-footer { height:44px; min-height:44px; }
  body.admin-page > .admin-footer .admin-footer-line { padding:7px 10px; font-size:10px; }
}
@media (max-width:520px) {
  body.admin-page > .admin { height:calc(100vh - 40px); }
  body.admin-page > .admin-footer { height:40px; min-height:40px; }
  body.admin-page > .admin-footer .admin-footer-line { padding:6px 5px; font-size:8.5px; }
}

/* V19 FINAL: stable admin viewport, independent dashboard scrolling, footer always visible */
html, body { width:100%; height:100%; min-height:100%; }
body.admin-page {
  margin:0;
  display:flex;
  flex-direction:column;
  overflow:hidden;
  min-height:100vh;
}
body.admin-page > .admin {
  flex:1 1 auto;
  width:100%;
  height:auto;
  min-height:0;
  display:grid;
  grid-template-columns:245px minmax(0,1fr);
  grid-template-rows:minmax(0,1fr);
  overflow:hidden;
}
body.admin-page > .admin > .side {
  grid-column:1;
  grid-row:1;
  width:auto;
  height:auto;
  min-height:0;
  position:relative;
  top:auto;
  overflow:hidden;
  display:flex;
  flex-direction:column;
}
body.admin-page > .admin > .side .side-nav-scroll {
  flex:1 1 auto;
  min-height:0;
  overflow-y:auto;
  overflow-x:hidden;
  -webkit-overflow-scrolling:touch;
}
body.admin-page > .admin > .main {
  grid-column:2;
  grid-row:1;
  width:auto;
  height:auto;
  min-height:0;
  overflow-y:auto;
  overflow-x:hidden;
  -webkit-overflow-scrolling:touch;
  overscroll-behavior:contain;
}
body.admin-page > .admin-footer {
  position:relative;
  left:auto;
  right:auto;
  bottom:auto;
  flex:0 0 48px;
  width:100%;
  height:48px;
  min-height:48px;
  z-index:100;
  display:flex;
  align-items:center;
  justify-content:center;
  margin:0;
  padding:0;
  box-sizing:border-box;
  border-top:4px solid #0878d1;
}
body.admin-page > .admin-footer .admin-footer-line {
  width:100%;
  max-width:none;
  padding:7px 20px;
  margin:0;
  border:0;
  text-align:center;
  line-height:1.25;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
@media (max-width:1100px) {
  body.admin-page > .admin { grid-template-columns:210px minmax(0,1fr); }
}
@media (max-width:800px) {
  body.admin-page > .admin { grid-template-columns:68px minmax(0,1fr); }
  body.admin-page > .admin > .side { padding:8px 5px; }
  body.admin-page > .admin-footer { flex-basis:44px; height:44px; min-height:44px; }
  body.admin-page > .admin-footer .admin-footer-line { padding:7px 8px; font-size:10px; white-space:normal; }
}
@media (max-width:520px) {
  body.admin-page > .admin { grid-template-columns:58px minmax(0,1fr); }
  body.admin-page > .admin > .side { padding:7px 4px; }
  body.admin-page > .admin-footer { flex-basis:42px; height:42px; min-height:42px; }
  body.admin-page > .admin-footer .admin-footer-line { padding:6px 5px; font-size:9px; }
}

/* V20 PUBLIC HOME: restore normal page scrolling and keep homepage footer reachable. */
html { min-height: 100%; }
body:not(.admin-page) {
  min-height: 100vh;
  height: auto;
  overflow-x: hidden;
  overflow-y: auto;
}
body:not(.admin-page) .site-footer {
  display: block;
  width: 100%;
  clear: both;
  position: relative;
  z-index: 5;
}
body:not(.admin-page) .content-layout,
body:not(.admin-page) .container,
body:not(.admin-page) .hero,
body:not(.admin-page) .marquee,
body:not(.admin-page) .site-nav {
  max-width: none;
}
@media (max-width: 700px) {
  body:not(.admin-page) .site-footer { overflow-wrap: anywhere; }
}

/* V21 PUBLIC HOME: restore normal page scrolling and keep public footer reachable.
   Admin keeps its independent scroll layout via body.admin-page. */
html:not(:has(body.admin-page)) { height:auto; min-height:100%; overflow-x:hidden; overflow-y:auto; }
body:not(.admin-page) { height:auto; min-height:100vh; overflow-x:hidden !important; overflow-y:auto !important; display:block; }
body:not(.admin-page) .container { overflow:visible; }
body:not(.admin-page) .content-layout { align-items:start; }
body:not(.admin-page) .site-footer { position:relative; z-index:2; width:100%; }
@media (max-width:800px) {
  body:not(.admin-page) { overflow-x:hidden !important; overflow-y:auto !important; }
  body:not(.admin-page) .container { padding-bottom:28px; }
}

/* V22 PUBLIC HOME: framed banner + spacious boxed content */
body:not(.admin-page) .hero {
  width: min(1200px, calc(100% - 36px));
  margin: 20px auto 24px;
  border: 2px solid rgba(13,79,59,.30);
  border-radius: 20px;
  box-shadow: 0 10px 30px rgba(0,0,0,.10);
  overflow: hidden;
}
body.theme-blue:not(.admin-page) .hero { border-color: rgba(35,116,216,.38); }
body.theme-dark:not(.admin-page) .hero { border-color: rgba(255,255,255,.20); }
body.theme-glass:not(.admin-page) .hero,
body.theme-glass-green:not(.admin-page) .hero { border-color: rgba(255,255,255,.60); }

body:not(.admin-page) .container.content-layout {
  width: min(1280px, calc(100% - 36px));
  max-width: 1280px;
  margin: 0 auto;
  padding: 0 18px 28px;
}
body:not(.admin-page) .content-main {
  min-width: 0;
  display: grid;
  gap: 20px;
}
body:not(.admin-page) .content-main > section {
  min-width: 0;
  padding: 22px;
  border: 2px solid rgba(13,79,59,.20);
  border-radius: 18px;
  background: rgba(255,255,255,.34);
  box-shadow: 0 8px 24px rgba(0,0,0,.07);
  backdrop-filter: blur(7px);
  -webkit-backdrop-filter: blur(7px);
}
body.theme-blue:not(.admin-page) .content-main > section { border-color: rgba(35,116,216,.25); }
body.theme-dark:not(.admin-page) .content-main > section { border-color: rgba(255,255,255,.14); background: rgba(20,28,36,.55); }
body.theme-glass:not(.admin-page) .content-main > section,
body.theme-glass-green:not(.admin-page) .content-main > section { border-color: rgba(255,255,255,.55); background: rgba(255,255,255,.28); }
body:not(.admin-page) .content-main > section h2 {
  margin-top: 0;
  padding-bottom: 12px;
  border-bottom: 2px solid rgba(13,79,59,.18);
}
body.theme-blue:not(.admin-page) .content-main > section h2 { border-color: rgba(35,116,216,.22); }
body.theme-dark:not(.admin-page) .content-main > section h2 { border-color: rgba(255,255,255,.12); }
body.theme-glass:not(.admin-page) .content-main > section h2,
body.theme-glass-green:not(.admin-page) .content-main > section h2 { border-color: rgba(255,255,255,.42); }
body:not(.admin-page) .content-main > section .cards { margin-top: 16px; }
body:not(.admin-page) .content-main > section#profil { margin-top: 0 !important; }
body:not(.admin-page) .content-right-column { margin-top: 0; }

@media (max-width: 700px) {
  body:not(.admin-page) .hero { width: calc(100% - 20px); margin: 12px auto 18px; border-radius: 14px; }
  body:not(.admin-page) .container.content-layout { width: calc(100% - 20px); padding: 0 5px 22px; }
  body:not(.admin-page) .content-main > section { padding: 15px; border-radius: 14px; }
}
@media (max-width: 480px) {
  body:not(.admin-page) .hero { width: calc(100% - 14px); }
  body:not(.admin-page) .container.content-layout { width: calc(100% - 14px); padding-left: 3px; padding-right: 3px; }
}

/* V23: banner compact and right information menu */
body:not(.admin-page) .hero {
  aspect-ratio: 1200 / 360;
  min-height: 190px;
  max-height: 390px;
  background-size: cover;
  background-position: center;
}
body:not(.admin-page) .content-layout {
  grid-template-columns: minmax(0, 1fr) minmax(250px, 310px);
  gap: 22px;
}
body:not(.admin-page) .content-right-column { align-self:start; }
.right-column-inner { overflow:hidden; }
.right-info-menu { display:grid; gap:9px; margin-top:18px; }
.right-info-menu a {
  display:flex; align-items:center; gap:9px; min-width:0;
  padding:11px 12px; border-radius:11px;
  background:rgba(255,255,255,.13);
  border:1px solid rgba(255,255,255,.22);
  transition:transform .18s ease, background .18s ease;
  overflow-wrap:anywhere;
}
.right-info-menu a:hover { transform:translateX(-2px); background:rgba(255,255,255,.23); }
body.theme-green:not(.admin-page) .right-info-menu a { background:rgba(13,79,59,.10); border-color:rgba(13,79,59,.18); }
body.theme-blue:not(.admin-page) .right-info-menu a { background:rgba(21,88,166,.10); border-color:rgba(35,116,216,.22); }
body.theme-dark:not(.admin-page) .right-info-menu a { background:rgba(255,255,255,.07); border-color:rgba(255,255,255,.13); color:#eef4f8; }
body.theme-glass:not(.admin-page) .right-info-menu a,body.theme-glass-green:not(.admin-page) .right-info-menu a { background:rgba(255,255,255,.20); border-color:rgba(255,255,255,.42); }
@media(max-width:900px){body:not(.admin-page) .content-layout{grid-template-columns:minmax(0,1fr) 260px;gap:16px}}
@media(max-width:700px){body:not(.admin-page) .hero{aspect-ratio:16/6;min-height:170px;max-height:260px}body:not(.admin-page) .content-layout{grid-template-columns:1fr}.right-info-menu{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:480px){body:not(.admin-page) .hero{aspect-ratio:16/7;min-height:150px;max-height:220px}.right-info-menu{grid-template-columns:1fr}}

/* V24: right-column interactive slideshow + news multi-photo gallery */
.right-menu-btn{appearance:none;width:100%;text-align:left;cursor:pointer;color:inherit;font:inherit;font-weight:700;display:flex;align-items:center;gap:9px;padding:11px 12px;border-radius:11px;background:rgba(255,255,255,.13);border:1px solid rgba(255,255,255,.22);transition:transform .18s ease,background .18s ease,box-shadow .18s ease}.right-menu-btn:hover,.right-menu-btn.active{transform:translateX(-2px);background:rgba(255,255,255,.25);box-shadow:0 5px 16px rgba(0,0,0,.08)}body.theme-green:not(.admin-page) .right-menu-btn{background:rgba(13,79,59,.10);border-color:rgba(13,79,59,.18)}body.theme-blue:not(.admin-page) .right-menu-btn{background:rgba(21,88,166,.10);border-color:rgba(35,116,216,.22)}body.theme-dark:not(.admin-page) .right-menu-btn{background:rgba(255,255,255,.07);border-color:rgba(255,255,255,.13);color:#eef4f8}body.theme-glass:not(.admin-page) .right-menu-btn,body.theme-glass-green:not(.admin-page) .right-menu-btn{background:rgba(255,255,255,.20);border-color:rgba(255,255,255,.42)}
.right-slideshow{margin-top:15px;min-height:210px;position:relative;overflow:hidden}.right-slide-placeholder,.right-content-slide{padding:15px;border-radius:14px;background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.24);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.right-content-slide{display:none;animation:rightFade .28s ease}.right-content-slide.active{display:block}@keyframes rightFade{from{opacity:.2;transform:translateX(10px)}to{opacity:1;transform:none}}.right-content-slide h3{margin:8px 0}.right-content-slide p{line-height:1.55}.right-slide-nav{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:9px}.right-slide-nav button{border:0;border-radius:8px;width:34px;height:30px;cursor:pointer;background:rgba(255,255,255,.25);font-size:22px;color:inherit}.right-count{font-size:12px;opacity:.75}.right-person-photo{width:100%;aspect-ratio:4/3;object-fit:cover;border-radius:10px;margin-top:8px}.right-mini-gallery{position:relative;width:100%;aspect-ratio:16/9;border-radius:10px;overflow:hidden;margin-bottom:10px;background:rgba(0,0,0,.08)}.right-mini-gallery img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;opacity:0;transition:opacity .35s ease}.right-mini-gallery img.active{opacity:1}.right-mini-empty{display:grid;place-items:center;width:100%;height:100%;font-size:38px}.news-card{overflow:hidden}.news-gallery{position:relative;width:100%;aspect-ratio:16/9;border-radius:12px;overflow:hidden;margin:-2px 0 13px;background:rgba(0,0,0,.08)}.news-slides,.news-slide{width:100%;height:100%}.news-slide{display:none;animation:newsFade .35s ease}.news-slide.active{display:block}@keyframes newsFade{from{opacity:.25}to{opacity:1}}.news-slide img{width:100%;height:100%;display:block;object-fit:cover}.news-no-image{display:grid;place-items:center;font-size:44px}.news-prev,.news-next{position:absolute;top:50%;transform:translateY(-50%);width:34px;height:34px;border:0;border-radius:50%;background:rgba(0,0,0,.38);color:#fff;font-size:25px;cursor:pointer;z-index:2}.news-prev{left:9px}.news-next{right:9px}.news-dots{position:absolute;bottom:9px;left:50%;transform:translateX(-50%);display:flex;gap:5px;z-index:2}.news-dots button{width:7px;height:7px;padding:0;border:0;border-radius:50%;background:rgba(255,255,255,.55);cursor:pointer}.news-dots button.active{background:#fff;transform:scale(1.25)}.news-content-preview{margin-top:9px;font-size:.92em;line-height:1.5;max-height:130px;overflow:auto;opacity:.86}.news-cards{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}
@media(max-width:700px){.right-slideshow{min-height:180px}.news-cards{grid-template-columns:1fr}.news-gallery{aspect-ratio:16/9}}
/* V25 - Admin berita editor & gallery */
.news-admin-main-photo img{display:block;width:min(360px,100%);height:180px;object-fit:cover;border-radius:12px;border:1px solid rgba(255,255,255,.18);margin:8px 0 14px}.news-admin-gallery{margin-top:12px}.news-admin-gallery-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(130px,1fr));gap:12px;margin-top:10px}.news-admin-photo{display:block;padding:8px;border:1px solid rgba(255,255,255,.14);border-radius:12px;background:rgba(255,255,255,.04)}.news-admin-photo img{display:block;width:100%;height:100px;object-fit:cover;border-radius:8px;margin-bottom:7px}.news-admin-photo span{font-size:12px;display:block}.table .btn{display:inline-block;margin:2px 0;padding:7px 10px;text-decoration:none}
/* V26: homepage news and right-column automatic slides */
.news-home-card{display:block;text-decoration:none;color:inherit;cursor:pointer;overflow:hidden}.news-home-card h3{margin:0;font-size:1.05rem;line-height:1.35}.news-home-card:hover{transform:translateY(-2px)}.news-home-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.news-more-note{margin-top:12px;text-align:center;font-size:.86rem;opacity:.72}.right-slideshow{min-height:245px}.right-auto-slide{display:none;animation:rightAutoFade .45s ease}.right-auto-slide.active{display:block}@keyframes rightAutoFade{from{opacity:.15;transform:translateX(12px)}to{opacity:1;transform:none}}.right-slide-link{display:block;text-decoration:none;color:inherit}.right-slide-link h3{margin:10px 2px 0;line-height:1.35}.right-slide-news-photo,.right-slide-placeholder-photo{width:100%;aspect-ratio:16/10;border-radius:12px;overflow:hidden;background:rgba(0,0,0,.08);display:grid;place-items:center;font-size:46px}.right-slide-news-photo img{width:100%;height:100%;object-fit:cover;display:block}.news-detail h1{margin:10px 0 18px}.news-back{display:inline-block;margin-bottom:12px;text-decoration:none}.detail-gallery{position:relative;width:100%;aspect-ratio:16/8;max-height:560px;border-radius:16px;overflow:hidden;background:rgba(0,0,0,.08)}.detail-slide{display:none;width:100%;height:100%;animation:newsFade .35s ease}.detail-slide.active{display:block}.detail-slide img{width:100%;height:100%;object-fit:contain;background:rgba(0,0,0,.06)}.detail-prev,.detail-next{position:absolute;top:50%;transform:translateY(-50%);width:40px;height:40px;border:0;border-radius:50%;background:rgba(0,0,0,.42);color:#fff;font-size:28px;cursor:pointer}.detail-prev{left:12px}.detail-next{right:12px}.detail-dots{position:absolute;bottom:12px;left:50%;transform:translateX(-50%);display:flex;gap:6px}.detail-dots button{width:8px;height:8px;padding:0;border:0;border-radius:50%;background:rgba(255,255,255,.55)}.detail-dots button.active{background:#fff;transform:scale(1.25)}.news-detail-meta{margin:15px 0 8px;opacity:.65;font-size:.88rem}.news-detail-excerpt{font-weight:600;font-size:1.05rem}.news-detail-content{line-height:1.8;font-size:1rem}.right-menu-btn.active{outline:2px solid rgba(255,255,255,.18)}
@media(max-width:700px){.news-home-cards{grid-template-columns:1fr}.right-slideshow{min-height:220px}.detail-gallery{aspect-ratio:16/10}.news-detail{padding:15px}}
.public-detail-container{max-width:1050px;margin:25px auto;padding:0 18px}.public-detail-container .news-detail{margin-bottom:30px}.public-detail-container .site-footer{margin-left:-18px;margin-right:-18px;width:calc(100% + 36px)}

/* V27 Pengurus */
.official-cards{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.official-card{text-align:center}.official-photo{width:110px;height:110px;border-radius:50%;object-fit:cover;display:block;margin:0 auto 12px;border:3px solid rgba(13,79,59,.15)}
@media(max-width:700px){.official-cards{grid-template-columns:repeat(2,minmax(0,1fr))}.official-photo{width:90px;height:90px}}

/* V28 - Semua Berita + detail content boundaries */
.news-all-wrap{text-align:center;margin:18px 0 4px}.news-all-btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;text-decoration:none}.all-news-page{max-width:1180px;margin:0 auto;padding:34px 22px 48px}.all-news-header{margin-bottom:22px}.all-news-header h1{margin:8px 0 5px}.all-news-header p{margin:0;opacity:.72}.all-news-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:22px}.all-news-card{display:block;text-decoration:none;color:inherit;border:1px solid rgba(13,79,59,.16);border-radius:16px;overflow:hidden;background:rgba(255,255,255,.12);box-shadow:0 8px 24px rgba(0,0,0,.06);transition:transform .18s ease,box-shadow .18s ease}.all-news-card:hover{transform:translateY(-3px);box-shadow:0 12px 30px rgba(0,0,0,.1)}.all-news-photo{width:100%;aspect-ratio:16/9;display:grid;place-items:center;background:rgba(0,0,0,.07);font-size:48px;overflow:hidden}.all-news-photo img{width:100%;height:100%;object-fit:cover;display:block}.all-news-card h2{font-size:1.02rem;line-height:1.4;margin:0;padding:14px 15px 16px}.news-detail{border:1px solid rgba(13,79,59,.22);box-shadow:0 12px 35px rgba(0,0,0,.08);padding:28px;border-radius:18px;margin-top:10px;margin-bottom:35px}.public-detail-container{box-sizing:border-box}.public-detail-container .news-detail-content{padding:4px 0 8px;overflow-wrap:anywhere}.public-detail-container .news-detail-content p{margin:0 0 1em}.public-detail-container .site-footer{border-top:0}
@media(max-width:900px){.all-news-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.all-news-page{padding-left:18px;padding-right:18px}.news-detail{padding:22px}}
@media(max-width:600px){.all-news-grid{grid-template-columns:1fr}.all-news-page{padding:24px 14px 36px}.news-detail{padding:16px;border-radius:14px}.public-detail-container{padding:0 12px}.public-detail-container .site-footer{margin-left:-12px;margin-right:-12px;width:calc(100% + 24px)}}

/* V29: Berita public layout refinement */
body:not(.admin-page) #berita .news-home-cards{display:grid;grid-template-columns:1fr;justify-items:center}
body:not(.admin-page) #berita .news-home-card{width:min(760px,100%);margin:0 auto}
body:not(.admin-page) #berita .news-gallery{aspect-ratio:auto;min-height:220px;display:grid;place-items:center;background:rgba(0,0,0,.04)}
body:not(.admin-page) #berita .news-slide{height:auto;display:none;text-align:center}
body:not(.admin-page) #berita .news-slide.active{display:block}
body:not(.admin-page) #berita .news-slide img{width:auto;height:auto;max-width:100%;max-height:430px;object-fit:contain;margin:auto}
.right-slide-news-gallery{position:relative;width:100%;min-height:180px;max-height:270px;border-radius:12px;overflow:hidden;background:rgba(0,0,0,.06);display:grid;place-items:center}
.right-news-gallery-slide{display:none;width:100%;height:100%;min-height:180px;text-align:center;animation:newsFade .35s ease}
.right-news-gallery-slide.active{display:grid;place-items:center}
.right-news-gallery-slide img{display:block;width:auto;height:auto;max-width:100%;max-height:270px;object-fit:contain;margin:auto}
.right-news-empty{font-size:44px}
.all-news-page{width:min(1180px,calc(100% - 44px));box-sizing:border-box;border-left:2px solid rgba(13,79,59,.15);border-right:2px solid rgba(13,79,59,.15);margin:28px auto 40px;padding:30px 28px 48px;border-radius:20px;background:rgba(255,255,255,.16);box-shadow:0 12px 34px rgba(0,0,0,.06)}
.all-news-grid{grid-template-columns:repeat(3,minmax(0,1fr));align-items:start}
.all-news-photo{height:220px;aspect-ratio:auto;padding:10px;box-sizing:border-box}
.all-news-photo img{width:auto;height:auto;max-width:100%;max-height:100%;object-fit:contain;margin:auto}
.all-news-card h2{text-align:center;min-height:58px;display:flex;align-items:center;justify-content:center}
.public-detail-container{width:min(980px,calc(100% - 44px));max-width:980px;margin:28px auto 42px;padding:0;box-sizing:border-box}
.public-detail-container .news-detail{margin:0;padding:34px 38px 40px;border:2px solid rgba(13,79,59,.18);border-radius:22px;background:rgba(255,255,255,.22);box-shadow:0 18px 45px rgba(0,0,0,.09)}
.public-detail-container .news-detail h1{text-align:center;line-height:1.25;margin:12px 0 24px}
.public-detail-container .news-detail .pill{display:block;width:max-content;margin:0 auto}
.public-detail-container .detail-gallery{background:rgba(0,0,0,.035);border:1px solid rgba(13,79,59,.10);display:grid;place-items:center}
.public-detail-container .detail-slide img{width:auto;height:auto;max-width:100%;max-height:560px;object-fit:contain;margin:auto;display:block}
.public-detail-container .news-detail-content{padding:18px 4px 8px;border-top:1px solid rgba(13,79,59,.12);margin-top:18px;font-size:1.04rem;line-height:1.9}
@media(max-width:900px){.all-news-page{width:calc(100% - 28px);padding:24px 18px 38px}.all-news-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.public-detail-container{width:calc(100% - 28px)}.public-detail-container .news-detail{padding:26px 24px 32px}}
@media(max-width:600px){.all-news-page{width:calc(100% - 18px);padding:20px 12px 30px;border-radius:15px}.all-news-grid{grid-template-columns:1fr;gap:16px}.all-news-photo{height:210px}.public-detail-container{width:calc(100% - 18px);margin-top:18px}.public-detail-container .news-detail{padding:20px 16px 26px;border-radius:16px}.public-detail-container .news-detail h1{font-size:1.55rem}.public-detail-container .news-detail-content{font-size:1rem;line-height:1.8}.right-slide-news-gallery,.right-news-gallery-slide{min-height:150px}.right-news-gallery-slide img{max-height:230px}}

/* V30: tombol navigasi pada isi berita */
.news-detail-actions{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;flex-wrap:wrap}.news-detail-actions .btn{text-decoration:none;display:inline-flex;align-items:center;justify-content:center;min-width:170px}.news-detail-actions .btn:last-child{margin-left:auto}
@media(max-width:600px){.news-detail-actions{flex-direction:column;align-items:stretch}.news-detail-actions .btn{width:100%;min-width:0}.news-detail-actions .btn:last-child{margin-left:0}}

/* V31 - Detail berita premium tanpa sidebar kanan */
.detail-intro-card{margin-bottom:26px;padding:24px 28px 22px;border:1px solid rgba(13,79,59,.16);border-radius:24px;background:rgba(255,255,255,.28);box-shadow:0 14px 40px rgba(0,0,0,.07);backdrop-filter:blur(12px)}
.detail-section-link,.detail-subsection-link,.detail-article-link{display:flex;align-items:center;justify-content:space-between;gap:12px;text-decoration:none;color:inherit;font-weight:800;letter-spacing:.03em}.detail-section-link{font-size:1.02rem;margin-bottom:16px}.detail-profile-card{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:20px 22px;border:1px solid rgba(13,79,59,.13);border-radius:18px;text-decoration:none;color:inherit;background:rgba(255,255,255,.34);transition:.2s}.detail-profile-card:hover,.detail-subsection-link:hover,.detail-news-mini:hover{transform:translateY(-2px)}.detail-kicker{font-size:.72rem;letter-spacing:.18em;opacity:.6;font-weight:800}.detail-profile-card h2{margin:5px 0 4px;font-size:1.45rem}.detail-profile-card p{margin:0 0 7px;opacity:.78}.detail-profile-card small{opacity:.68}.detail-arrow{font-size:2rem;opacity:.5}.detail-logo-wrap{height:145px;display:grid;place-items:center;margin:18px 0}.detail-logo-wrap img{width:auto;height:auto;max-width:150px;max-height:140px;object-fit:contain}.detail-logo-wrap span{font-size:64px}.detail-subsection-link{padding:14px 4px;border-top:1px solid rgba(13,79,59,.11);border-bottom:1px solid rgba(13,79,59,.11);margin-bottom:15px}.detail-subsection-link span{font-size:.78rem;font-weight:600;opacity:.58}.detail-official-slider{position:relative;overflow:hidden;padding:4px 44px}.detail-official-track{min-height:205px;display:flex}.detail-official-slide{display:none;width:100%;text-align:center;text-decoration:none;color:inherit;flex:0 0 100%;align-items:center;flex-direction:column;justify-content:center;animation:newsFade .35s ease}.detail-official-slide.active{display:flex}.detail-official-slide img{width:125px;height:125px;border-radius:50%;object-fit:cover;border:4px solid rgba(13,79,59,.15);box-shadow:0 10px 25px rgba(0,0,0,.1);margin-bottom:10px}.detail-official-slide strong{font-size:1.08rem}.detail-official-slide span{opacity:.65;margin-top:3px}.detail-official-prev,.detail-official-next,.detail-news-prev,.detail-news-next{position:absolute;top:50%;transform:translateY(-50%);width:40px;height:40px;border:0;border-radius:50%;cursor:pointer;background:rgba(13,79,59,.12);color:inherit;font-size:28px}.detail-official-prev{left:2px}.detail-official-next{right:2px}.detail-official-dots{text-align:center;margin-top:5px}.detail-official-dots button{width:8px;height:8px;padding:0;border:0;border-radius:50%;background:rgba(13,79,59,.2);margin:0 3px;cursor:pointer}.detail-official-dots button.active{transform:scale(1.3);background:rgba(13,79,59,.65)}
.public-detail-container .news-detail{margin-top:0}.detail-article-link{justify-content:center;font-size:.76rem;letter-spacing:.18em;opacity:.58;margin-bottom:10px}.public-detail-container .news-detail .pill{margin-top:4px}.public-detail-container .news-detail h1{margin-top:18px;margin-bottom:28px}.public-detail-container .news-detail-actions{margin-bottom:30px;padding-bottom:20px;border-bottom:1px solid rgba(13,79,59,.10)}
.detail-all-news{margin:30px 0 44px;padding:24px 28px 30px;border:1px solid rgba(13,79,59,.15);border-radius:24px;background:rgba(255,255,255,.24);box-shadow:0 14px 38px rgba(0,0,0,.06)}.detail-all-news-head{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:18px}.detail-all-news-head span{font-size:.7rem;letter-spacing:.18em;opacity:.55;font-weight:800}.detail-all-news-head h2{margin:3px 0 0}.detail-news-slider{position:relative;overflow:hidden;padding:2px 0}.detail-news-track{display:flex;transition:transform .45s ease}.detail-news-mini{flex:0 0 33.333333%;box-sizing:border-box;padding:0 8px;text-decoration:none;color:inherit;transition:.2s}.detail-news-mini-photo{height:170px;border-radius:14px;overflow:hidden;background:rgba(0,0,0,.05);display:grid;place-items:center;margin-bottom:10px}.detail-news-mini-photo img{width:auto;height:auto;max-width:100%;max-height:100%;object-fit:contain}.detail-news-mini>span{font-size:.72rem;opacity:.55}.detail-news-mini strong{display:block;line-height:1.4;margin-top:4px}.detail-news-prev{left:2px}.detail-news-next{right:2px}.detail-news-prev,.detail-news-next{top:42%;background:rgba(255,255,255,.85);box-shadow:0 5px 18px rgba(0,0,0,.12)}
.public-detail-container+.site-footer{margin-top:0}
@media(max-width:900px){.detail-news-mini{flex-basis:50%}.detail-intro-card{padding:20px}.detail-news-mini-photo{height:150px}}
@media(max-width:600px){.detail-intro-card{padding:16px;border-radius:18px}.detail-profile-card{padding:16px}.detail-profile-card h2{font-size:1.2rem}.detail-logo-wrap{height:120px}.detail-official-slider{padding:4px 38px}.detail-official-slide img{width:105px;height:105px}.detail-all-news{padding:18px 12px 22px;border-radius:18px}.detail-all-news-head{align-items:flex-start;flex-direction:column}.detail-news-mini{flex-basis:100%;padding:0 4px}.detail-news-mini-photo{height:180px}.detail-news-prev{left:0}.detail-news-next{right:0}}
.all-official-public{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}.all-official-public .official-card{padding:18px}.all-official-public .official-photo{width:120px;height:120px}@media(max-width:900px){.all-official-public{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){.all-official-public{grid-template-columns:1fr}}


/* V32 – navigasi publik, profil desa, data kelompok & pengurus */
.kud-note{margin-top:18px;padding:14px 16px;border-left:3px solid rgba(255,255,255,.5);background:rgba(255,255,255,.06);border-radius:12px}
.premium-public-page{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.18);border-radius:24px;padding:34px;box-shadow:0 24px 70px rgba(0,0,0,.16);backdrop-filter:blur(14px)}
.premium-public-page h1{font-size:clamp(28px,4vw,46px);margin:8px 0 20px;text-align:center;letter-spacing:-.5px}
.detail-kicker{display:block;text-align:center;letter-spacing:3px;font-size:12px;font-weight:800;opacity:.72;margin-top:10px}
.village-meta{display:flex;justify-content:center;gap:10px;flex-wrap:wrap;margin-bottom:25px}.village-meta span{padding:8px 12px;border-radius:999px;background:rgba(255,255,255,.08);border:1px solid rgba(255,255,255,.12)}
.premium-content{max-width:900px;margin:0 auto;font-size:16px;line-height:1.8}.village-info-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin-top:25px}.village-info-grid>div{display:flex;flex-direction:column;gap:6px;padding:18px;border-radius:16px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.12)}
.public-group-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;margin-top:28px}.public-group-card{padding:22px;border-radius:20px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.14);box-shadow:0 10px 30px rgba(0,0,0,.08)}.public-group-card h2{margin:8px 0}.public-group-card p{opacity:.78}.public-group-card strong{display:inline-block;margin-top:10px}.group-code{font-size:12px;font-weight:800;letter-spacing:1px;opacity:.7}
.tonase-total-card{max-width:520px;margin:25px auto;padding:22px;text-align:center;border-radius:20px;background:linear-gradient(135deg,rgba(255,255,255,.14),rgba(255,255,255,.05));border:1px solid rgba(255,255,255,.18)}.tonase-total-card span,.tonase-total-card strong{display:block}.tonase-total-card strong{font-size:30px;margin-top:6px}.public-tonase-table{overflow:auto;margin-top:24px}.public-tonase-table .table{min-width:650px}
.right-slide-official-photo{width:100%;aspect-ratio:4/3;border-radius:16px;overflow:hidden;background:rgba(255,255,255,.08);display:flex;align-items:center;justify-content:center}.right-slide-official-photo img{width:auto;height:auto;max-width:100%;max-height:100%;object-fit:contain}.right-official-rotator{position:relative;min-height:270px}.right-official-item{display:none}.right-official-item.active{display:block}.right-official-item p{margin:5px 0 0;opacity:.72}.right-menu-btn{display:block;text-decoration:none!important}
@media(max-width:900px){.public-group-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.premium-public-page{padding:24px}}@media(max-width:600px){.public-group-grid,.village-info-grid{grid-template-columns:1fr}.premium-public-page{padding:18px;border-radius:18px}.premium-public-page h1{font-size:30px}.right-official-rotator{min-height:220px}}

/* V34 - perapihan upload Logo & Banner pada Profil & Pengaturan */
body.admin-page .profile-settings-box{max-width:1100px;margin:0 auto;padding:0;background:transparent;box-shadow:none}
body.admin-page .profile-settings-form{gap:18px}
body.admin-page .profile-settings-form .settings-section{margin-top:0;padding:22px;background:#fff;border:1px solid #e1e7ea;border-radius:16px;box-shadow:0 4px 18px rgba(0,0,0,.05)}
body.admin-page .settings-brand-section{padding:24px!important}
.settings-heading{display:flex;justify-content:space-between;gap:20px;margin-bottom:18px}.settings-heading h3{margin:3px 0 5px}.settings-kicker{font-size:11px;font-weight:800;letter-spacing:.16em;color:#0d4f3b}.media-upload-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.media-upload-card{min-width:0;border:1px solid #dfe6e9;border-radius:15px;padding:17px;background:#f9fbfc}.media-upload-title{display:flex;align-items:center;gap:12px;margin-bottom:13px}.media-upload-title>span{width:42px;height:42px;display:grid;place-items:center;border-radius:12px;background:#e8f3ef;font-size:21px}.media-upload-title strong,.media-upload-title small{display:block}.media-upload-title small{margin-top:3px;color:#71808b;font-size:12px}.media-preview{width:100%;height:190px;border:1px dashed #cbd7dc;border-radius:12px;background:#fff;display:flex;align-items:center;justify-content:center;overflow:hidden;margin-bottom:13px;gap:8px;flex-direction:column}.media-preview img{display:block;width:auto;height:auto;max-width:92%;max-height:170px;object-fit:contain}.media-preview span{font-size:42px;opacity:.6}.media-preview small{color:#71808b}.banner-preview{height:190px}.banner-preview img{max-width:96%;max-height:170px}.upload-field{display:flex;flex-direction:column;gap:7px;padding:12px;border-radius:11px;background:#fff;border:1px solid #e1e7ea;cursor:pointer}.upload-field>span{font-weight:700}.upload-field input[type=file]{width:100%;padding:8px;background:#f6f8f9;border:1px solid #d9e0e4;border-radius:8px;font:inherit}.upload-field small{font-size:11px;color:#71808b}.settings-two-col{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.settings-two-col>label{min-width:0}.switch-row{display:flex!important;align-items:center;gap:8px;width:max-content}.switch-row input{width:auto!important}.settings-section h4{margin:18px 0 8px}.settings-save-bar{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:17px 20px;background:#fff;border:1px solid #dfe6e9;border-radius:15px;box-shadow:0 4px 18px rgba(0,0,0,.05)}.settings-save-bar strong,.settings-save-bar small{display:block}.settings-save-bar small{margin-top:3px;color:#71808b;font-size:12px}
body.theme-dark.admin-page .profile-settings-form .settings-section,body.theme-dark.admin-page .settings-save-bar{background:#202a35;border-color:#34424f}.theme-dark.admin-page .media-upload-card,.theme-dark.admin-page .media-preview,.theme-dark.admin-page .upload-field{background:#18222c;border-color:#465463}.theme-dark.admin-page .media-upload-title>span{background:#263642}.theme-dark.admin-page .upload-field input[type=file]{background:#202a35;color:#eef4f8;border-color:#465463}
body.theme-glass.admin-page .profile-settings-form .settings-section,body.theme-glass.admin-page .settings-save-bar,body.theme-glass-green.admin-page .profile-settings-form .settings-section,body.theme-glass-green.admin-page .settings-save-bar{background:rgba(255,255,255,.58);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
@media(max-width:760px){.media-upload-grid,.settings-two-col{grid-template-columns:1fr}.settings-save-bar{align-items:stretch;flex-direction:column}.settings-save-bar .btn{width:100%}}
@media(max-width:480px){body.admin-page .profile-settings-form .settings-section{padding:15px}.media-upload-card{padding:13px}.media-preview,.banner-preview{height:155px}.media-preview img,.banner-preview img{max-height:140px}.settings-heading{margin-bottom:12px}}

/* V34 - Profil & Pengaturan: rapikan upload logo/banner dan Menu Kolom Kanan */
body.admin-page .profile-settings-box{width:100%;max-width:1180px;margin:0 auto}
body.admin-page .profile-settings-form{display:flex!important;flex-direction:column!important;gap:22px!important}
body.admin-page .profile-settings-form>.settings-section{width:100%;box-sizing:border-box;clear:both}
body.admin-page .settings-brand-section{padding:24px!important;background:linear-gradient(145deg,#ffffff,#f6faf8)!important;border:1px solid #dce7e2!important}
body.admin-page .settings-brand-section .settings-heading{display:block;margin:0 0 20px}
body.admin-page .settings-brand-section .settings-heading h3{font-size:21px}
body.admin-page .media-upload-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:22px!important;align-items:stretch!important}
body.admin-page .media-upload-card{display:flex!important;flex-direction:column!important;min-width:0!important;box-sizing:border-box!important;padding:18px!important;background:#fff!important;border:1px solid #d9e4df!important;border-radius:16px!important;box-shadow:0 5px 18px rgba(13,79,59,.06)!important}
body.admin-page .media-upload-title{min-height:48px;margin-bottom:14px!important}
body.admin-page .media-preview{height:210px!important;min-height:210px!important;flex:0 0 auto!important;margin:0 0 14px!important;background:#f8fbfa!important;border:1px dashed #bfcfc8!important;border-radius:13px!important}
body.admin-page .media-preview img{width:auto!important;height:auto!important;max-width:88%!important;max-height:180px!important;object-fit:contain!important}
body.admin-page .banner-preview img{max-width:94%!important;max-height:180px!important}
body.admin-page .upload-field{margin-top:auto!important;box-sizing:border-box!important;min-height:104px!important;justify-content:center!important;background:#f8faf9!important;border:1px solid #dfe8e4!important}
body.admin-page .upload-field input[type=file]{box-sizing:border-box!important;max-width:100%!important;overflow:hidden!important}
body.admin-page .profile-settings-form>.settings-section:not(.settings-brand-section){background:#fff;border:1px solid #dfe7e4;border-radius:16px;box-shadow:0 4px 18px rgba(0,0,0,.045);padding:22px}
body.admin-page .profile-settings-form>.settings-section:not(.settings-brand-section)>h3{margin-top:0}
body.admin-page .profile-settings-form>.settings-section:has(.check-grid) .check-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:10px}
body.admin-page .profile-settings-form>.settings-section:has(.check-grid) .check-grid label{display:flex;align-items:center;gap:8px;min-height:44px;box-sizing:border-box}
body.admin-page .profile-settings-form>.settings-section:has(.check-grid) .check-grid input{flex:0 0 auto}
body.admin-page .profile-settings-form>.settings-section:nth-last-of-type(1){margin-bottom:0}
body.admin-page .profile-settings-form h4{padding-top:14px;margin-top:22px;border-top:1px solid #e4ebe8}
body.admin-page .profile-settings-form .settings-save-bar{position:sticky;bottom:12px;z-index:20;box-shadow:0 8px 25px rgba(0,0,0,.12)}
@media(max-width:900px){body.admin-page .media-upload-grid{grid-template-columns:1fr!important}body.admin-page .profile-settings-form>.settings-section:has(.check-grid) .check-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:560px){body.admin-page .settings-brand-section,body.admin-page .profile-settings-form>.settings-section:not(.settings-brand-section){padding:15px!important}body.admin-page .profile-settings-form>.settings-section:has(.check-grid) .check-grid{grid-template-columns:1fr}.media-preview,.banner-preview{height:180px!important;min-height:180px!important}.media-preview img,.banner-preview img{max-height:150px!important}}

/* V35 - Preview upload Logo & Banner dibuat lebih kecil */
body.admin-page .profile-settings-form .media-preview{
  height:125px!important;
  min-height:125px!important;
  margin-bottom:11px;
}
body.admin-page .profile-settings-form .media-preview img{
  max-width:70%!important;
  max-height:105px!important;
}
body.admin-page .profile-settings-form .banner-preview img{
  max-width:82%!important;
  max-height:105px!important;
}
body.admin-page .profile-settings-form .media-upload-card{padding:14px!important}
@media(max-width:560px){
  body.admin-page .profile-settings-form .media-preview,
  body.admin-page .profile-settings-form .banner-preview{height:105px!important;min-height:105px!important}
  body.admin-page .profile-settings-form .media-preview img,
  body.admin-page .profile-settings-form .banner-preview img{max-height:82px!important;max-width:72%!important}
}

/* V36 - Pengurus: foto kotak + hilangkan sidebar/kolom menu kanan publik */
.official-photo,
.detail-official-slide img,
.all-official-public .official-photo,
.right-slide-official-photo img{border-radius:0!important}

/* Kolom/sidebar kanan tidak ditampilkan pada halaman publik */
body:not(.admin-page) .content-right-column,
body:not(.admin-page) .public-sidebar,
body:not(.admin-page) .sidebar-backdrop{display:none!important}
body:not(.admin-page) .page-layout{grid-template-columns:1fr!important}

/* Jika layout memakai wrapper utama berbeda, pastikan konten mengambil lebar penuh */
body:not(.admin-page) .main-content{width:100%!important;max-width:none}

/* V37 – Profil KUD publik */
.kud-profile-public{max-width:920px;margin:30px auto;padding:34px 42px;text-align:center;}
.kud-profile-public .detail-logo-wrap img{max-width:110px;max-height:110px;width:auto;height:auto;object-fit:contain;}
.kud-profile-tagline{margin:8px 0 26px;font-size:1.05rem;opacity:.82;}
.kud-profile-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;text-align:left;}
.kud-profile-grid>div{padding:18px;border:1px solid rgba(255,255,255,.18);border-radius:16px;background:rgba(255,255,255,.06);}
.kud-profile-grid b,.kud-profile-grid span{display:block;}
.kud-profile-grid b{margin-bottom:7px;}
.kud-profile-note{margin-top:18px;padding:20px;border:1px solid rgba(255,255,255,.18);border-radius:16px;text-align:left;}
.kud-profile-note p{margin:8px 0 0;line-height:1.7;}
@media(max-width:600px){.kud-profile-public{padding:25px 18px;margin:18px auto}.kud-profile-grid{grid-template-columns:1fr}}

/* V39 – Kotak slideshow kanan khusus Pengurus KUD */
.right-official-only{min-height:285px}
.right-official-only .right-official-rotator{min-height:285px}
.right-official-only .right-official-item{min-height:285px;display:none;flex-direction:column;align-items:center;justify-content:center;text-align:center}
.right-official-only .right-official-item.active{display:flex}
.right-official-only .right-slide-official-photo{width:100%;height:205px;aspect-ratio:auto;border-radius:12px;overflow:hidden;background:rgba(255,255,255,.08);display:flex;align-items:center;justify-content:center}
.right-official-only .right-slide-official-photo img{width:auto;height:auto;max-width:100%;max-height:205px;object-fit:contain;border-radius:0!important}
.right-official-only .right-official-item h3{margin:10px 2px 2px;line-height:1.3}
.right-official-only .right-official-item p{margin:0;opacity:.72}

/* V40 – Aktifkan kembali menu pada kotak kanan + foto pengurus portrait 4x6 rounded */
body:not(.admin-page) .content-right-column{display:block!important}
body:not(.admin-page) .content-right-column .right-info-menu{display:grid;gap:9px;margin:14px 0 18px}
body:not(.admin-page) .content-right-column .right-menu-btn{padding:12px 13px;border-radius:12px;background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.22);transition:.2s;text-decoration:none!important}
body:not(.admin-page) .content-right-column .right-menu-btn:hover{transform:translateY(-1px);background:rgba(255,255,255,.25)}
body:not(.admin-page) .right-official-only .right-slide-official-photo{width:120px;height:180px;aspect-ratio:2/3;border-radius:9px;overflow:hidden;margin:0 auto;background:rgba(255,255,255,.08);box-shadow:0 8px 22px rgba(0,0,0,.12)}
body:not(.admin-page) .right-official-only .right-slide-official-photo img{width:100%;height:100%;max-width:none;max-height:none;object-fit:cover;border-radius:9px!important}
body:not(.admin-page) .right-official-only .right-official-item{min-height:300px}
@media(max-width:700px){body:not(.admin-page) .content-right-column{display:block!important}.right-official-only .right-slide-official-photo{width:104px;height:156px}.right-official-only .right-official-item{min-height:250px}}

/* V42: pemulihan stylesheet + Data Kelompok & Pengurus */
.homepage-groups{margin-top:28px}
.section-heading-row{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:16px}
.section-kicker{display:block;font-size:.72rem;letter-spacing:.16em;font-weight:800;opacity:.6;margin-bottom:3px}
.section-heading-row h2{margin:0}
.group-see-all{text-decoration:none;white-space:nowrap}
.homepage-group-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.homepage-group-card{display:flex;align-items:center;gap:12px;padding:16px;border:1px solid rgba(13,79,59,.14);border-radius:16px;background:rgba(255,255,255,.34);text-decoration:none;color:inherit;box-shadow:0 8px 24px rgba(0,0,0,.05);transition:transform .2s,box-shadow .2s}
.homepage-group-card:hover{transform:translateY(-2px);box-shadow:0 12px 28px rgba(0,0,0,.08)}
.homepage-group-icon{width:44px;height:44px;border-radius:12px;display:grid;place-items:center;background:rgba(13,79,59,.10);font-size:23px;flex:0 0 44px}
.homepage-group-info{min-width:0;flex:1}.homepage-group-info b{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.homepage-group-info span{font-size:.8rem;opacity:.6}
.homepage-group-count{text-align:right;white-space:nowrap}.homepage-group-count strong{display:block;font-size:1.15rem}.homepage-group-count small{font-size:.68rem;opacity:.6}
.official-photo{width:125px!important;height:187px!important;aspect-ratio:2/3!important;object-fit:cover!important;border-radius:10px!important;display:block;margin:0 auto 10px}
.official-card{text-align:center}
.right-slide-official-photo{width:125px;height:187px;margin:0 auto 10px;overflow:hidden;border-radius:10px}.right-slide-official-photo img{width:100%;height:100%;object-fit:cover;border-radius:10px}
@media(max-width:900px){.homepage-group-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.section-heading-row{align-items:flex-start;flex-direction:column}.group-see-all{width:100%;text-align:center}.homepage-group-grid{grid-template-columns:1fr}.homepage-group-card{padding:14px}.official-photo{width:110px!important;height:165px!important}.right-slide-official-photo{width:110px;height:165px}}

/* V43 - Profil KUD tambahan */
.settings-info-note{margin:12px 0 4px;padding:10px 12px;border:1px dashed rgba(30,90,70,.25);border-radius:12px;background:rgba(255,255,255,.55);font-size:.9rem;color:#5c6b65}
.kud-profile-grid>div:nth-child(n+5){border-top:1px solid rgba(30,90,70,.10);padding-top:12px}

/* V44: Google Maps kantor KUD di kolom kanan */
body:not(.admin-page) .right-map-card{margin:14px 0 18px;padding:12px;border:1px solid rgba(255,255,255,.24);border-radius:16px;background:rgba(255,255,255,.10);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);overflow:hidden}
body:not(.admin-page) .right-map-head{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px}
body:not(.admin-page) .right-map-head>div{display:flex;align-items:center;gap:8px;min-width:0}
body:not(.admin-page) .right-map-head strong{font-size:14px}
body:not(.admin-page) .right-map-head a{font-size:11px;text-decoration:none;padding:6px 8px;border-radius:8px;background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.2);white-space:nowrap}
body:not(.admin-page) .right-map-frame{width:100%;height:210px;border-radius:12px;overflow:hidden;background:#e9eef0;border:1px solid rgba(255,255,255,.22)}
body:not(.admin-page) .right-map-frame iframe{display:block;width:100%;height:100%;border:0}
body:not(.admin-page) .right-map-address{margin-top:9px;font-size:11px;line-height:1.5;opacity:.9}
body:not(.admin-page) .right-map-empty{min-height:130px;display:grid;place-items:center;text-align:center;padding:15px;border-radius:12px;background:rgba(255,255,255,.08);font-size:13px;line-height:1.5}
@media(max-width:700px){body:not(.admin-page) .right-map-frame{height:190px}}

/* V45 – Pengurus di bawah Data Kelompok: 5 kartu per tampilan, sisanya bergeser otomatis */
.homepage-official-section{margin-top:30px}
.official-carousel{position:relative;width:100%;overflow:hidden}
.official-carousel-viewport{width:100%;overflow:hidden}
.official-carousel-track{display:flex;gap:14px;transition:transform .55s ease;will-change:transform;padding:2px 2px 8px}
.official-carousel-card{flex:0 0 calc((100% - 56px)/5);min-width:0;box-sizing:border-box;text-decoration:none;color:inherit;text-align:center;padding:15px 10px}
.official-carousel-card:hover{transform:translateY(-2px)}
.official-carousel-card .official-photo{width:112px!important;height:168px!important;margin:0 auto 10px}
.official-carousel-card b{display:block;line-height:1.3}
.official-carousel-card p{margin:5px 0 0;opacity:.7;font-size:.9rem;line-height:1.3}
.official-carousel-prev,.official-carousel-next{position:absolute;top:50%;transform:translateY(-50%);z-index:3;width:38px;height:38px;border:0;border-radius:50%;background:rgba(0,0,0,.35);color:#fff;font-size:27px;cursor:pointer;box-shadow:0 4px 12px rgba(0,0,0,.12)}
.official-carousel-prev{left:8px}.official-carousel-next{right:8px}
.official-carousel-prev:hover,.official-carousel-next:hover{background:rgba(0,0,0,.5)}
.official-empty{width:100%;text-align:center;padding:30px}
@media(max-width:900px){.official-carousel-card{flex-basis:calc((100% - 28px)/3)}}
@media(max-width:600px){.official-carousel-card{flex-basis:calc((100% - 14px)/2)}.official-carousel-card .official-photo{width:100px!important;height:150px!important}.official-carousel-prev,.official-carousel-next{width:34px;height:34px;font-size:24px}}

/* V46 - Perbaikan klik menu kotak kanan */
body:not(.admin-page) .content-right-column{position:sticky;z-index:20;isolation:isolate;pointer-events:auto}
body:not(.admin-page) .content-right-column .right-column-inner{position:relative;z-index:21;pointer-events:auto}
body:not(.admin-page) .content-right-column .right-info-menu{position:relative;z-index:30;pointer-events:auto}
body:not(.admin-page) .content-right-column .right-menu-btn{position:relative;z-index:31;pointer-events:auto;cursor:pointer}
body:not(.admin-page) .content-right-column .right-slideshow{position:relative;z-index:10}


/* V51 – FIX tombol menu garis 3 / sidebar kanan */
body:not(.admin-page) .site-nav{position:relative;z-index:1200;isolation:isolate}
body:not(.admin-page) .nav-actions{position:relative;z-index:1201}
body:not(.admin-page) .sidebar-toggle{position:relative;z-index:1202;pointer-events:auto!important;touch-action:manipulation;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;gap:6px}
body:not(.admin-page) .public-sidebar{z-index:1300!important}
body:not(.admin-page) .sidebar-backdrop{z-index:1290!important}
body.sidebar-open:not(.admin-page){overflow:hidden}
@media(max-width:700px){body:not(.admin-page) .site-nav{z-index:1200}.sidebar-toggle{min-height:40px}}


/* V52: Peta kantor KUD dikendalikan langsung dengan wheel mouse / pinch pada HP.
   Kontrol zoom bawaan Google Maps disembunyikan agar tidak perlu tombol +/- manual. */
body:not(.admin-page) .right-map-frame{
  touch-action:auto;
  -webkit-overflow-scrolling:touch;
}
body:not(.admin-page) .right-map-frame iframe{
  touch-action:auto;
  pointer-events:auto;
}

/* V53 - Sidebar kanan: tombol garis tiga selalu aktif dan dapat dibuka */
body:not(.admin-page) .sidebar-toggle{display:inline-flex!important;visibility:visible!important;opacity:1!important;position:relative!important;z-index:10000!important;pointer-events:auto!important;user-select:none;-webkit-user-select:none;}
body:not(.admin-page) .public-sidebar{display:block!important;visibility:visible;pointer-events:auto;z-index:10001!important;}
body:not(.admin-page) .sidebar-backdrop{z-index:10000!important;pointer-events:auto;}
body.sidebar-open:not(.admin-page) .public-sidebar{pointer-events:auto!important;}

/* V54 - Peta kantor KUD: area lebih besar, zoom hanya setelah peta diklik.
   Desktop: scroll wheel. Android: pinch dua jari. Kontrol +/- tetap tersembunyi. */
body:not(.admin-page) .right-map-card{padding:14px}
body:not(.admin-page) .right-map-frame{position:relative;width:100%;height:290px;border-radius:14px;overflow:hidden;background:#e9eef0;border:1px solid rgba(255,255,255,.24);box-shadow:0 8px 22px rgba(0,0,0,.12)}
body:not(.admin-page) .right-map-frame iframe{width:100%;height:100%;display:block;border:0;pointer-events:none}
body:not(.admin-page) .right-map-frame.map-active iframe{pointer-events:auto}
body:not(.admin-page) .right-map-activate{position:absolute;inset:0;margin:auto;width:min(82%,300px);height:max-content;padding:13px 16px;border:1px solid rgba(255,255,255,.42);border-radius:12px;background:rgba(20,35,45,.72);color:#fff;font:inherit;font-size:13px;line-height:1.45;cursor:pointer;backdrop-filter:blur(5px);-webkit-backdrop-filter:blur(5px);z-index:5;touch-action:manipulation}
body:not(.admin-page) .right-map-activate small{font-size:11px;opacity:.9}
body:not(.admin-page) .right-map-frame.map-active .right-map-activate{display:none}
body:not(.admin-page) .right-map-frame.map-active{cursor:grab}
@media(max-width:700px){body:not(.admin-page) .right-map-frame{height:260px}}


/* V55 - Profil & Pengaturan: peta titik kantor + layout navigasi stabil */
body.admin-page .profile-settings-form>.settings-section{position:relative;display:block;float:none;clear:both;}
body.admin-page .profile-settings-form .check-grid{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px 12px!important;align-items:stretch;}
body.admin-page .profile-settings-form .check-grid label{margin:0!important;width:auto!important;min-width:0;display:flex!important;align-items:center;gap:9px;padding:11px 13px;border:1px solid #dfe7e4;border-radius:10px;background:#f8fbfa;box-sizing:border-box;}
body.admin-page .profile-settings-form .check-grid label input{margin:0;flex:0 0 auto;}
body.admin-page .profile-settings-form h4{clear:both;}
.map-settings-card{margin-top:16px;padding:16px;border:1px solid #dbe6e2;border-radius:16px;background:#f9fcfb;box-sizing:border-box;}
.map-settings-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px;}
.map-settings-head strong,.map-settings-head small{display:block;}
.map-settings-head small{margin-top:3px;opacity:.68;}
.map-open-google{white-space:nowrap;text-decoration:none;}
.map-settings-preview{width:100%;height:180px;border-radius:12px;overflow:hidden;border:1px solid #d5dfdc;background:#e9eef0;margin-bottom:12px;}
.map-settings-preview iframe{width:100%;height:100%;border:0;display:block;}
.map-picker-wrap{margin-top:10px;}
.map-picker-note{font-size:12px;margin-bottom:8px;padding:9px 11px;border-radius:10px;background:#eef6f3;border:1px solid #d7e8e2;}
.kud-map-picker{height:260px;width:100%;border-radius:12px;overflow:hidden;border:1px solid #cfdad6;background:#e9eef0;z-index:1;}
.map-coords{margin-top:12px;}
@media(max-width:900px){body.admin-page .profile-settings-form .check-grid{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:560px){body.admin-page .profile-settings-form .check-grid{grid-template-columns:1fr;}.map-settings-head{align-items:flex-start;flex-direction:column;}.map-open-google{width:100%;text-align:center;box-sizing:border-box;}.map-settings-preview{height:160px;}.kud-map-picker{height:230px;}}

/* V56 – Profil & Pengaturan: layout premium, stabil, satu alur */
body.admin-page .profile-settings-box{max-width:1180px;margin:0 auto;padding:clamp(16px,2.5vw,28px);border-radius:20px;}
body.admin-page .profile-settings-form{display:flex;flex-direction:column;gap:18px;}
body.admin-page .profile-settings-form>.settings-section,
body.admin-page .profile-settings-form>.settings-save-bar{width:100%;margin:0;}
body.admin-page .profile-settings-form>.settings-section{padding:clamp(16px,2vw,22px);border-radius:18px;background:rgba(255,255,255,.96);border:1px solid #dfe8e4;box-shadow:0 5px 20px rgba(15,60,45,.06);}
body.admin-page .profile-settings-form>.settings-section h3{font-size:18px;line-height:1.25;margin:0 0 5px;color:#174b3a;}
body.admin-page .profile-settings-form>.settings-section>p{margin:0 0 14px;}
body.admin-page .profile-settings-form>label:not(.switch-row){display:block;margin:0;}
body.admin-page .profile-settings-form label{min-width:0;}
body.admin-page .profile-settings-form .settings-two-col{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;}
body.admin-page .profile-settings-form .settings-two-col>label{min-width:0;}
body.admin-page .profile-settings-form .form input,
body.admin-page .profile-settings-form .form select,
body.admin-page .profile-settings-form .form textarea{min-width:0;}
body.admin-page .profile-settings-form .settings-section input,
body.admin-page .profile-settings-form .settings-section select,
body.admin-page .profile-settings-form .settings-section textarea{margin-top:6px;}
body.admin-page .profile-settings-form .settings-section textarea{min-height:96px;resize:vertical;}
body.admin-page .profile-settings-form .settings-brand-section{background:linear-gradient(145deg,#f8fcfa,#ffffff);}
body.admin-page .profile-settings-form .settings-section h4{font-size:14px;margin:18px 0 7px;padding-top:14px;border-top:1px solid #e5ece9;color:#245744;}
body.admin-page .profile-settings-form .check-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;}
body.admin-page .profile-settings-form .check-grid label{min-height:46px;cursor:pointer;transition:transform .15s,box-shadow .15s,border-color .15s;background:#fff;}
body.admin-page .profile-settings-form .check-grid label:hover{transform:translateY(-1px);border-color:#b7d3c7;box-shadow:0 4px 12px rgba(20,80,60,.07);}
body.admin-page .profile-settings-form .switch-row{display:flex;align-items:center;gap:10px;padding:11px 13px;margin-bottom:12px!important;border:1px solid #dce7e2;border-radius:11px;background:#f7fbf9;cursor:pointer;}
body.admin-page .profile-settings-form .switch-row input{margin:0;}
body.admin-page .settings-save-bar{position:sticky;bottom:12px;z-index:50;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 16px;border:1px solid #cfe0d9;border-radius:15px;background:rgba(255,255,255,.96);box-shadow:0 10px 28px rgba(0,0,0,.12);backdrop-filter:blur(10px);}
body.admin-page .settings-save-bar small{display:block;margin-top:3px;color:#71808b;font-size:12px;}
body.admin-page .map-settings-card{margin-top:14px;padding:16px;border:1px solid #d5e3dd;border-radius:16px;background:#f7fbf9;box-shadow:inset 0 1px 0 rgba(255,255,255,.7);}
body.admin-page .map-settings-head{margin:0 0 12px;}
body.admin-page .map-settings-preview.kud-map-settings-map{height:330px;margin:0;border-radius:14px;border:1px solid #cbdad4;box-shadow:0 5px 16px rgba(0,0,0,.08);overflow:hidden;}
body.admin-page .map-picker-note{margin-top:10px;margin-bottom:0;background:#edf7f2;border-color:#d2e7dd;line-height:1.5;}
body.admin-page .map-coords{margin-top:12px!important;}
body.admin-page .map-help{display:block;margin-top:10px;line-height:1.5;}
body.admin-page .leaflet-container{font:12px/1.4 Inter,Arial,sans-serif;}
body.admin-page .leaflet-control-zoom a{width:30px;height:30px;line-height:30px;}
body.admin-page .media-upload-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;}
body.admin-page .media-upload-card{min-width:0;}
body.admin-page .settings-info-note{margin-top:12px;padding:11px 13px;border-radius:10px;background:#eef7f3;border:1px solid #d6e9e0;color:#356353;font-size:12px;}
@media(max-width:900px){body.admin-page .profile-settings-form .check-grid{grid-template-columns:repeat(2,minmax(0,1fr));}}
@media(max-width:700px){body.admin-page .profile-settings-form .settings-two-col,body.admin-page .profile-settings-form .media-upload-grid{grid-template-columns:1fr;}body.admin-page .profile-settings-form .check-grid{grid-template-columns:1fr;}body.admin-page .map-settings-preview.kud-map-settings-map{height:280px;}body.admin-page .settings-save-bar{position:static;flex-direction:column;align-items:stretch;}body.admin-page .settings-save-bar .btn{width:100%;}}
@media(max-width:480px){body.admin-page .profile-settings-box{padding:10px;border-radius:12px;}body.admin-page .profile-settings-form{gap:12px;}body.admin-page .profile-settings-form>.settings-section{padding:14px;border-radius:14px;}body.admin-page .map-settings-card{padding:11px;}body.admin-page .map-settings-preview.kud-map-settings-map{height:245px;}}

/* V57 – Profil & Pengaturan: Navigation Bar & Menu Kolom Kanan lebih ringkas dan rapi */
body.admin-page .profile-settings-form .check-grid{
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:8px!important;
  margin-top:8px;
}
body.admin-page .profile-settings-form .check-grid label{
  min-height:38px!important;
  height:auto!important;
  padding:8px 10px!important;
  border-radius:9px!important;
  font-size:13px!important;
  line-height:1.25!important;
  gap:7px!important;
  white-space:normal!important;
  word-break:normal!important;
  align-items:center!important;
  justify-content:flex-start!important;
}
body.admin-page .profile-settings-form .check-grid label input[type="checkbox"]{
  width:15px!important;
  height:15px!important;
  min-width:15px!important;
  margin:0!important;
  flex:0 0 15px!important;
  accent-color:#176b4d;
}
body.admin-page .profile-settings-form .settings-section h3{margin-bottom:4px!important;}
body.admin-page .profile-settings-form .settings-section h4{margin-top:15px!important;padding-top:12px!important;}
body.admin-page .profile-settings-form .switch-row{padding:9px 11px!important;margin-bottom:10px!important;font-size:13px!important;}
body.admin-page .profile-settings-form .switch-row input{width:15px!important;height:15px!important;}
@media(max-width:1100px){body.admin-page .profile-settings-form .check-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;}}
@media(max-width:800px){body.admin-page .profile-settings-form .check-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:7px!important;}}
@media(max-width:520px){body.admin-page .profile-settings-form .check-grid{grid-template-columns:1fr!important;}.profile-settings-form .check-grid label{font-size:12.5px!important;min-height:36px!important;padding:7px 9px!important;}}


/* V59: ADMIN MENU TEXT CONTRAST - always readable in every theme */
body.admin-page > .admin > .side,
body.admin-page > .admin > .side .brand,
body.admin-page > .admin > .side .brand b,
body.admin-page > .admin > .side .brand small,
body.admin-page > .admin > .side .side-nav-links a,
body.admin-page > .admin > .side .side-nav-links a:visited,
body.admin-page > .admin > .side .admin-side-footer,
body.admin-page > .admin > .side .admin-side-footer span { color: var(--admin-menu-text, #fff); }

/* Dark/colored sidebars: white text */
body.theme-green, body.theme-blue, body.theme-dark, body.theme-glass, body.theme-glass-green {
  --admin-menu-text:#fff;
  --admin-menu-hover-text:#fff;
}
body.admin-page > .admin > .side .side-nav-links a:hover,
body.admin-page > .admin > .side .side-nav-links a:focus-visible {
  color:var(--admin-menu-hover-text, #fff) !important;
}

/* Light/white sidebar themes: black text with strong contrast */
body.theme-light, body.theme-white {
  --admin-menu-text:#111827;
  --admin-menu-hover-text:#111827;
}
body.theme-light.admin-page > .admin > .side,
body.theme-white.admin-page > .admin > .side { background:#fff; color:#111827; border-right:1px solid #dfe5e8; }
body.theme-light.admin-page > .admin > .side .side-nav-links a,
body.theme-white.admin-page > .admin > .side .side-nav-links a { color:#111827; }
body.theme-light.admin-page > .admin > .side .side-nav-links a:hover,
body.theme-white.admin-page > .admin > .side .side-nav-links a:hover { background:#eef2f4; color:#111827 !important; }
body.theme-light.admin-page > .admin > .side .admin-side-footer,
body.theme-white.admin-page > .admin > .side .admin-side-footer { color:#111827; }
body.theme-light.admin-page > .admin > .side .side-nav-scroll { scrollbar-color:rgba(17,24,39,.28) transparent; }
body.theme-white.admin-page > .admin > .side .side-nav-scroll { scrollbar-color:rgba(17,24,39,.28) transparent; }
body.theme-light.admin-page > .admin > .side .side-nav-scroll::-webkit-scrollbar-thumb,
body.theme-white.admin-page > .admin > .side .side-nav-scroll::-webkit-scrollbar-thumb { background:rgba(17,24,39,.28); }

/* Make menu links readable even when a page/theme adds conflicting colors. */
body.admin-page > .admin > .side .side-nav-links a {
  text-shadow:0 1px 1px rgba(0,0,0,.16);
  font-weight:600;
}
body.theme-light.admin-page > .admin > .side .side-nav-links a,
body.theme-white.admin-page > .admin > .side .side-nav-links a { text-shadow:none; }

/* V60: FULL ADMIN THEME CONTRAST FIX
   Sidebar/menu text follows the active theme and stays readable. */
body.admin-page .side .side-nav-links a,
body.admin-page .side .side-nav-links a:link,
body.admin-page .side .side-nav-links a:visited,
body.admin-page .side .side-nav-links a:hover,
body.admin-page .side .side-nav-links a:focus,
body.admin-page .side .side-nav-links a:active,
body.admin-page .side .brand,
body.admin-page .side .brand b,
body.admin-page .side .brand small,
body.admin-page .side .admin-side-footer,
body.admin-page .side .admin-side-footer span { color:var(--admin-menu-text)!important; }

/* White theme: every sidebar text is dark, including hover/focus. */
body.admin-page.theme-white { --admin-menu-text:#111827; --admin-menu-hover-bg:#e9eef2; }
body.admin-page.theme-white .side { background:#fff!important; color:#111827!important; border-right:1px solid #d7dee4; }
body.admin-page.theme-white .side .side-nav-links a,
body.admin-page.theme-white .side .side-nav-links a:link,
body.admin-page.theme-white .side .side-nav-links a:visited,
body.admin-page.theme-white .side .side-nav-links a:hover,
body.admin-page.theme-white .side .side-nav-links a:focus,
body.admin-page.theme-white .side .side-nav-links a:active,
body.admin-page.theme-white .side .brand,
body.admin-page.theme-white .side .brand b,
body.admin-page.theme-white .side .brand small,
body.admin-page.theme-white .side .admin-side-footer,
body.admin-page.theme-white .side .admin-side-footer span { color:#111827!important; }
body.admin-page.theme-white .side .side-nav-links a:hover,
body.admin-page.theme-white .side .side-nav-links a:focus-visible { background:#e9eef2!important; }
body.admin-page.theme-white .side .admin-side-footer { background:rgba(17,24,39,.035)!important; border-top-color:#d7dee4!important; }
body.admin-page.theme-white .side-nav-scroll { scrollbar-color:rgba(17,24,39,.30) transparent!important; }
body.admin-page.theme-white .side-nav-scroll::-webkit-scrollbar-thumb { background:rgba(17,24,39,.30)!important; }

/* Dark/colored themes: force white menu text even if another component overrides it. */
body.admin-page.theme-green,
body.admin-page.theme-blue,
body.admin-page.theme-dark,
body.admin-page.theme-glass,
body.admin-page.theme-glass-green { --admin-menu-text:#fff; }
body.admin-page.theme-green .side .side-nav-links a,
body.admin-page.theme-blue .side .side-nav-links a,
body.admin-page.theme-dark .side .side-nav-links a,
body.admin-page.theme-glass .side .side-nav-links a,
body.admin-page.theme-glass-green .side .side-nav-links a { color:#fff!important; }
body.admin-page.theme-green .side .side-nav-links a:hover,
body.admin-page.theme-blue .side .side-nav-links a:hover,
body.admin-page.theme-dark .side .side-nav-links a:hover,
body.admin-page.theme-glass .side .side-nav-links a:hover,
body.admin-page.theme-glass-green .side .side-nav-links a:hover { color:#fff!important; }

/* Labels/text inside Admin settings also follow the active theme. */
body.admin-page.theme-dark .main,
body.admin-page.theme-dark .main label,
body.admin-page.theme-dark .main h1,
body.admin-page.theme-dark .main h2,
body.admin-page.theme-dark .main h3,
body.admin-page.theme-dark .main h4 { color:#eef4f8; }
body.admin-page.theme-white .main,
body.admin-page.theme-white .main label,
body.admin-page.theme-white .main h1,
body.admin-page.theme-white .main h2,
body.admin-page.theme-white .main h3,
body.admin-page.theme-white .main h4 { color:#111827; }

/* V61: GREEN & BLUE THEME - BLACK ADMIN TEXT */
body.admin-page.theme-green,
body.admin-page.theme-blue { --admin-menu-text:#111827; }
body.admin-page.theme-green .side,
body.admin-page.theme-blue .side { color:#111827!important; }
body.admin-page.theme-green .side .side-nav-links a,
body.admin-page.theme-green .side .side-nav-links a:link,
body.admin-page.theme-green .side .side-nav-links a:visited,
body.admin-page.theme-green .side .side-nav-links a:hover,
body.admin-page.theme-green .side .side-nav-links a:focus,
body.admin-page.theme-green .side .side-nav-links a:active,
body.admin-page.theme-green .side .brand,
body.admin-page.theme-green .side .brand b,
body.admin-page.theme-green .side .brand small,
body.admin-page.theme-green .side .admin-side-footer,
body.admin-page.theme-green .side .admin-side-footer span,
body.admin-page.theme-blue .side .side-nav-links a,
body.admin-page.theme-blue .side .side-nav-links a:link,
body.admin-page.theme-blue .side .side-nav-links a:visited,
body.admin-page.theme-blue .side .side-nav-links a:hover,
body.admin-page.theme-blue .side .side-nav-links a:focus,
body.admin-page.theme-blue .side .side-nav-links a:active,
body.admin-page.theme-blue .side .brand,
body.admin-page.theme-blue .side .brand b,
body.admin-page.theme-blue .side .brand small,
body.admin-page.theme-blue .side .admin-side-footer,
body.admin-page.theme-blue .side .admin-side-footer span { color:#111827!important; }

body.admin-page.theme-green .main,
body.admin-page.theme-green .main label,
body.admin-page.theme-green .main h1,
body.admin-page.theme-green .main h2,
body.admin-page.theme-green .main h3,
body.admin-page.theme-green .main h4,
body.admin-page.theme-green .main p,
body.admin-page.theme-green .main .muted,
body.admin-page.theme-blue .main,
body.admin-page.theme-blue .main label,
body.admin-page.theme-blue .main h1,
body.admin-page.theme-blue .main h2,
body.admin-page.theme-blue .main h3,
body.admin-page.theme-blue .main h4,
body.admin-page.theme-blue .main p,
body.admin-page.theme-blue .main .muted { color:#111827!important; }

/* V62: ADMIN CRUD TWO-COLUMN LAYOUT
   Left = existing data/list, Right = add/edit form. Stacks on mobile. */
body.admin-page .split-crud{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(330px,.85fr);gap:18px;align-items:start}
body.admin-page .split-panel{min-width:0;border-radius:16px;padding:18px;background:rgba(255,255,255,.94);box-shadow:0 8px 28px rgba(15,23,42,.08);border:1px solid rgba(148,163,184,.22)}
body.admin-page .split-form{position:sticky;top:18px}
body.admin-page .split-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}
body.admin-page .split-heading h2{margin:0 0 4px}
body.admin-page .split-heading>strong{display:grid;place-items:center;min-width:38px;height:38px;padding:0 10px;border-radius:999px;background:rgba(16,185,129,.12);font-size:14px}
body.admin-page .split-table-wrap{overflow:auto;max-height:calc(100vh - 220px);border-radius:10px}
body.admin-page .split-list .table{min-width:760px;margin:0}
body.admin-page .split-form .form{margin-top:8px}
body.admin-page.theme-green .split-panel,body.admin-page.theme-blue .split-panel{color:#111827}
body.admin-page.theme-dark .split-panel{background:rgba(20,27,34,.94);color:#eef4f8;border-color:rgba(255,255,255,.12)}
body.admin-page.theme-white .split-panel{background:#fff;color:#111827}
@media(max-width:1050px){body.admin-page .split-crud{grid-template-columns:minmax(0,1.25fr) minmax(300px,.9fr)}}
@media(max-width:800px){body.admin-page .split-crud{grid-template-columns:1fr;gap:14px}body.admin-page .split-form{position:static;order:2}body.admin-page .split-list{order:1}body.admin-page .split-table-wrap{max-height:none}}

/* V64: CRUD PANELS - FORM LEFT, DATA RIGHT */
body.admin-page .split-crud{grid-template-columns:minmax(330px,.85fr) minmax(0,1.55fr)}
body.admin-page .split-form{grid-column:1;grid-row:1;position:sticky;top:18px}
body.admin-page .split-list{grid-column:2;grid-row:1}

/* V64: text contrast for Data/Tambah panels by admin theme.
   Green, Blue and White = black text. Dark/Black = white text. */
body.admin-page.theme-green .split-panel,
body.admin-page.theme-blue .split-panel,
body.admin-page.theme-white .split-panel{color:#111827!important}
body.admin-page.theme-green .split-panel h1,
body.admin-page.theme-green .split-panel h2,
body.admin-page.theme-green .split-panel h3,
body.admin-page.theme-green .split-panel h4,
body.admin-page.theme-green .split-panel p,
body.admin-page.theme-green .split-panel span,
body.admin-page.theme-green .split-panel small,
body.admin-page.theme-green .split-panel label,
body.admin-page.theme-green .split-panel th,
body.admin-page.theme-green .split-panel td,
body.admin-page.theme-green .split-panel .muted,
body.admin-page.theme-blue .split-panel h1,
body.admin-page.theme-blue .split-panel h2,
body.admin-page.theme-blue .split-panel h3,
body.admin-page.theme-blue .split-panel h4,
body.admin-page.theme-blue .split-panel p,
body.admin-page.theme-blue .split-panel span,
body.admin-page.theme-blue .split-panel small,
body.admin-page.theme-blue .split-panel label,
body.admin-page.theme-blue .split-panel th,
body.admin-page.theme-blue .split-panel td,
body.admin-page.theme-blue .split-panel .muted,
body.admin-page.theme-white .split-panel h1,
body.admin-page.theme-white .split-panel h2,
body.admin-page.theme-white .split-panel h3,
body.admin-page.theme-white .split-panel h4,
body.admin-page.theme-white .split-panel p,
body.admin-page.theme-white .split-panel span,
body.admin-page.theme-white .split-panel small,
body.admin-page.theme-white .split-panel label,
body.admin-page.theme-white .split-panel th,
body.admin-page.theme-white .split-panel td,
body.admin-page.theme-white .split-panel .muted{color:#111827!important}

body.admin-page.theme-dark .split-panel,
body.admin-page.theme-black .split-panel{color:#fff!important;background:rgba(20,27,34,.94)}
body.admin-page.theme-dark .split-panel h1,
body.admin-page.theme-dark .split-panel h2,
body.admin-page.theme-dark .split-panel h3,
body.admin-page.theme-dark .split-panel h4,
body.admin-page.theme-dark .split-panel p,
body.admin-page.theme-dark .split-panel span,
body.admin-page.theme-dark .split-panel small,
body.admin-page.theme-dark .split-panel label,
body.admin-page.theme-dark .split-panel th,
body.admin-page.theme-dark .split-panel td,
body.admin-page.theme-dark .split-panel .muted,
body.admin-page.theme-black .split-panel h1,
body.admin-page.theme-black .split-panel h2,
body.admin-page.theme-black .split-panel h3,
body.admin-page.theme-black .split-panel h4,
body.admin-page.theme-black .split-panel p,
body.admin-page.theme-black .split-panel span,
body.admin-page.theme-black .split-panel small,
body.admin-page.theme-black .split-panel label,
body.admin-page.theme-black .split-panel th,
body.admin-page.theme-black .split-panel td,
body.admin-page.theme-black .split-panel .muted{color:#fff!important}
body.admin-page.theme-dark .split-panel input,
body.admin-page.theme-dark .split-panel textarea,
body.admin-page.theme-dark .split-panel select,
body.admin-page.theme-black .split-panel input,
body.admin-page.theme-black .split-panel textarea,
body.admin-page.theme-black .split-panel select{color:#fff!important;background:#18212b;border-color:rgba(255,255,255,.2)}
body.admin-page.theme-dark .split-panel input::placeholder,
body.admin-page.theme-dark .split-panel textarea::placeholder,
body.admin-page.theme-black .split-panel input::placeholder,
body.admin-page.theme-black .split-panel textarea::placeholder{color:rgba(255,255,255,.7)!important}

@media(max-width:800px){
 body.admin-page .split-crud{grid-template-columns:1fr}
 body.admin-page .split-form{grid-column:1;grid-row:1;position:static;order:1}
 body.admin-page .split-list{grid-column:1;grid-row:2;order:2}
}

/* V65: FOTO TAMPILAN UTAMA LEBIH TERANG & JELAS */
body:not(.admin-page) .news-slide img,
body:not(.admin-page) .right-slide-news-photo img,
body:not(.admin-page) .right-person-photo,
body:not(.admin-page) .right-official-item img,
body:not(.admin-page) .official-photo,
body:not(.admin-page) .detail-official-slide img,
body:not(.admin-page) .detail-slide img,
body:not(.admin-page) .all-news-photo img,
body:not(.admin-page) .detail-news-mini-photo img {
  filter: brightness(1.12) contrast(1.06) saturate(1.05);
}
/* Foto pengurus di bagian utama: tetap natural, tidak terlalu putih */
body:not(.admin-page) .right-slide-news-photo img,
body:not(.admin-page) .right-person-photo,
body:not(.admin-page) .official-photo {
  filter: brightness(1.10) contrast(1.05) saturate(1.04);
}

/* V67: BANNER UTAMA LEBIH TERANG - FOTO LEBIH JELAS */
body:not(.admin-page) .hero:before{
  background:rgba(0,0,0,.16);
}
body:not(.admin-page) .hero > div{
  text-shadow:0 2px 8px rgba(0,0,0,.55);
}

/* V68: TOOLS ANGGOTA - EXCEL IMPORT/EXPORT & PRINT */
body.admin-page .member-tools{margin-top:20px;padding-top:16px;border-top:1px solid rgba(148,163,184,.25)}
body.admin-page .member-tools h3{margin:0 0 12px;font-size:16px}.tool-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:8px 0}.tool-btn{display:block;text-align:center;font-size:12px!important;padding:9px 8px!important}.import-box,.print-box{margin-top:12px;padding:12px;border-radius:12px;background:rgba(148,163,184,.08)}.import-box input[type=file]{width:100%;margin-bottom:8px}.import-box small{display:block;margin-top:7px;line-height:1.4}.print-box label{font-weight:700;display:block;margin-bottom:7px}.member-filter{display:flex;gap:8px;align-items:center;margin:0 0 12px}.member-filter select{max-width:260px}.split-form{min-width:0}
body.admin-page.theme-dark .member-tools,body.admin-page.theme-dark .import-box,body.admin-page.theme-dark .print-box{color:#fff}body.admin-page.theme-dark .member-tools .muted,body.admin-page.theme-dark .import-box .muted{color:#d7e0e8!important}body.admin-page.theme-green .member-tools,body.admin-page.theme-blue .member-tools,body.admin-page.theme-white .member-tools{color:#111827}body.admin-page.theme-green .member-tools .muted,body.admin-page.theme-blue .member-tools .muted,body.admin-page.theme-white .member-tools .muted{color:#475569!important}
@media(max-width:800px){.tool-grid{grid-template-columns:1fr}.member-filter{flex-wrap:wrap}.member-filter select{max-width:none;flex:1}}

/* Mobile admin sidebar: one-tap logo; desktop layout unchanged. */
.admin-mobile-toggle,.admin-sidebar-backdrop{display:none;}
@media (max-width:800px){
  body.admin-page .admin-mobile-toggle{display:flex!important;position:fixed!important;left:10px!important;top:10px!important;width:46px!important;height:46px!important;padding:4px!important;border:0!important;border-radius:12px!important;background:#fff!important;box-shadow:0 3px 14px rgba(0,0,0,.22)!important;z-index:20000!important;align-items:center!important;justify-content:center!important;cursor:pointer!important;touch-action:manipulation!important;-webkit-tap-highlight-color:transparent!important;}
  body.admin-page .admin-mobile-toggle img{width:38px!important;height:38px!important;object-fit:contain!important;display:block!important;}
  body.admin-page .admin-mobile-toggle span{font-size:27px!important;line-height:1!important;}
  body.admin-page .admin-sidebar-backdrop{display:none;position:fixed!important;inset:0!important;padding:0!important;border:0!important;background:rgba(0,0,0,.42)!important;z-index:19990!important;}
  body.admin-page.admin-sidebar-open .admin-sidebar-backdrop{display:block!important;}
  body.admin-page .admin>.side{position:fixed!important;left:0!important;top:0!important;bottom:0!important;width:245px!important;height:100vh!important;min-height:100vh!important;z-index:19995!important;transform:translate3d(-110%,0,0)!important;transition:transform .22s ease!important;box-shadow:8px 0 28px rgba(0,0,0,.22)!important;padding:14px 10px 10px!important;overflow:hidden!important;}
  body.admin-page.admin-sidebar-open .admin>.side{transform:translate3d(0,0,0)!important;}
  body.admin-page .admin>.side .brand b,body.admin-page .admin>.side .brand small{display:block!important;}
  body.admin-page .admin>.side .side-nav-links a{font-size:14px!important;text-align:left!important;padding:10px 9px!important;}
  body.admin-page .admin>.side .admin-brand-logo img{width:58px!important;height:58px!important;}
  body.admin-page .admin>.main{width:100%!important;max-width:100%!important;margin-left:0!important;padding-top:68px!important;}
}

/* Perapihan aksi anggota */
body.admin-page .member-actions{display:flex;align-items:center;justify-content:center;gap:6px;white-space:nowrap;min-width:118px}
body.admin-page .icon-action{width:34px;height:34px;display:inline-flex!important;align-items:center;justify-content:center;border-radius:8px;background:#e9eef0;color:#17212b!important;border:1px solid #d7e0e4;font-size:16px;line-height:1;text-decoration:none!important;flex:0 0 34px}
body.admin-page .icon-action:hover{transform:translateY(-1px);box-shadow:0 3px 8px rgba(0,0,0,.12)}
body.admin-page .icon-action.danger{background:#fff0f0;color:#a51d2d!important;border-color:#f2c7cd}
body.admin-page .split-list .table th:last-child,body.admin-page .split-list .table td:last-child{text-align:center;width:130px}
@media(max-width:800px){body.admin-page .member-actions{justify-content:flex-start}}

/* Final perapihan tombol aksi anggota: selalu sejajar dan tidak tertimpa */
body.admin-page .split-list .table td:last-child{white-space:nowrap;vertical-align:middle}
body.admin-page .member-actions{display:inline-flex!important;flex-direction:row!important;flex-wrap:nowrap!important;align-items:center!important;justify-content:center!important;gap:7px!important;width:max-content!important;min-width:108px!important}
body.admin-page .icon-action{display:inline-flex!important;position:relative!important;float:none!important;margin:0!important;width:32px!important;height:32px!important;min-width:32px!important;max-width:32px!important;padding:0!important;flex:0 0 32px!important;vertical-align:middle!important}
@media(max-width:800px){
 body.admin-page .split-list .table{min-width:980px}
 body.admin-page .member-actions{gap:6px!important}
}

/* Pemberitahuan data dobel */
.duplicate-alert{border:1px solid #ef4444!important;background:#fff1f2!important;color:#991b1b!important;border-radius:12px!important;padding:12px 16px!important;font-weight:700!important;box-shadow:0 4px 14px rgba(239,68,68,.10);margin-bottom:14px}

.kud-clock-box{position:absolute;top:14px;right:18px;display:flex;align-items:center;gap:10px;padding:10px 16px;border-radius:18px;background:rgba(255,255,255,.18);backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border:1px solid rgba(255,255,255,.35);box-shadow:0 4px 16px rgba(0,0,0,.12);color:inherit;z-index:20}.kud-clock-box .clock-icon{font-size:28px}.kud-clock-box b{font-size:22px;letter-spacing:2px}.kud-clock-box small{display:block;font-size:11px;opacity:.85}.kud-clock-box span{font-size:11px;opacity:.85}

/* Revisi daftar kelompok di beranda */
.homepage-group-card-members{align-items:flex-start!important}
.homepage-member-list{margin-top:10px;display:grid;gap:5px;width:100%;font-size:12px}
.homepage-member-list>div{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:12px;padding:5px 8px;border-radius:8px;background:rgba(16,185,129,.07);border:1px solid rgba(16,185,129,.12)}
.homepage-member-list>div span:first-child{min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.homepage-member-list>div span:last-child{font-weight:700;white-space:nowrap}
.homepage-group-card-members .homepage-group-info{flex:1;min-width:0}
.homepage-group-card-members .homepage-group-count{margin-left:auto;align-self:flex-end;white-space:nowrap}
@media(max-width:700px){.homepage-group-card-members{display:block!important}.homepage-group-card-members .homepage-group-icon{float:left;margin-right:10px}.homepage-group-card-members .homepage-group-count{margin-top:10px;text-align:left}.homepage-member-list{clear:both}}


/* V45 - Perapihan Data Kelompok publik */
.homepage-active-members-card{display:flex;align-items:center;gap:18px;padding:24px 26px;border-radius:20px;text-decoration:none;color:inherit;background:linear-gradient(135deg,rgba(255,255,255,.72),rgba(255,255,255,.38));border:1px solid rgba(13,79,59,.13);box-shadow:0 12px 30px rgba(0,0,0,.06);transition:transform .2s,box-shadow .2s;max-width:760px}
.homepage-active-members-card:hover{transform:translateY(-2px);box-shadow:0 16px 34px rgba(0,0,0,.09)}
.homepage-active-members-icon{width:58px;height:58px;border-radius:17px;display:grid;place-items:center;background:rgba(13,79,59,.11);font-size:29px;flex:0 0 58px}
.homepage-active-members-info{flex:1;min-width:0}
.homepage-active-members-info span{display:block;font-size:.72rem;letter-spacing:.12em;font-weight:800;opacity:.58}
.homepage-active-members-info strong{display:block;font-size:2rem;line-height:1.05;margin:5px 0}
.homepage-active-members-info small{display:block;opacity:.62}
.homepage-active-members-arrow{font-size:25px;opacity:.5}
.group-list-intro{max-width:760px;margin:0 auto 24px;text-align:center;opacity:.72}
.public-group-list-card{margin-top:20px;padding:22px;border-radius:20px;background:rgba(255,255,255,.07);border:1px solid rgba(255,255,255,.14);box-shadow:0 10px 30px rgba(0,0,0,.08)}
.public-group-list-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:14px}
.public-group-list-head h2{margin:3px 0 0}
.public-group-code{font-size:11px;font-weight:800;letter-spacing:.12em;opacity:.58}
.public-member-table-wrap{overflow-x:auto}
.public-member-table{width:100%;min-width:520px;border-collapse:separate;border-spacing:0;overflow:hidden;border-radius:14px}
.public-member-table th,.public-member-table td{padding:12px 14px}
.public-member-table th:first-child,.public-member-table td:first-child{width:70px;text-align:center}
.public-member-table th:last-child,.public-member-table td:last-child{width:220px}
.public-group-total{display:flex;align-items:center;justify-content:space-between;margin-top:14px;padding:13px 15px;border-radius:12px;background:rgba(13,79,59,.09);border:1px solid rgba(13,79,59,.10)}
.public-group-total span{font-weight:700;opacity:.72}.public-group-total strong{font-size:1.25rem}
.public-total-active{max-width:560px;margin:26px auto 0;padding:18px 22px;border-radius:18px;text-align:center;background:linear-gradient(135deg,rgba(255,255,255,.14),rgba(255,255,255,.05));border:1px solid rgba(255,255,255,.18)}
.public-total-active span,.public-total-active strong{display:block}.public-total-active strong{font-size:30px;margin-top:5px}
@media(max-width:600px){.homepage-active-members-card{padding:18px;gap:13px}.homepage-active-members-icon{width:50px;height:50px;flex-basis:50px}.homepage-active-members-info strong{font-size:1.65rem}.homepage-active-members-arrow{font-size:20px}.public-group-list-card{padding:16px}.public-member-table{min-width:440px}}

/* V46 - Dashboard Data Kelompok: hanya tabel kelompok dan jumlah anggota aktif */
.homepage-group-summary-card{overflow:hidden;border:1px solid rgba(13,79,59,.14);border-radius:18px;background:rgba(255,255,255,.46);box-shadow:0 10px 28px rgba(0,0,0,.06)}
.homepage-group-summary-head,.homepage-group-summary-row{display:grid;grid-template-columns:minmax(0,1fr) 150px;align-items:center;gap:16px}
.homepage-group-summary-head{padding:13px 18px;background:rgba(13,79,59,.08);font-size:.76rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase;opacity:.72}
.homepage-group-summary-head span:last-child{text-align:center}
.homepage-group-summary-row{padding:14px 18px;text-decoration:none;color:inherit;border-top:1px solid rgba(13,79,59,.08);transition:background .18s,transform .18s}
.homepage-group-summary-row:hover{background:rgba(13,79,59,.055)}
.homepage-group-summary-row>div{min-width:0;display:flex;align-items:center;gap:10px}
.homepage-group-summary-code{font-size:.68rem;font-weight:800;letter-spacing:.08em;opacity:.52;min-width:62px}
.homepage-group-summary-row strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.homepage-group-summary-count{justify-self:center;min-width:54px;padding:7px 13px;border-radius:999px;text-align:center;font-weight:800;background:rgba(13,79,59,.10);color:inherit}
.homepage-group-summary-empty{padding:22px 18px;text-align:center;opacity:.62}
@media(max-width:600px){.homepage-group-summary-head,.homepage-group-summary-row{grid-template-columns:minmax(0,1fr) 110px}.homepage-group-summary-row>div{display:block}.homepage-group-summary-code{display:block;margin-bottom:3px}.homepage-group-summary-head,.homepage-group-summary-row{padding-left:14px;padding-right:14px}}


/* V47 - Dashboard Data Kelompok elegan: 3 kartu per baris */
.homepage-group-summary-card{background:transparent;border:0;box-shadow:none;overflow:visible}
.homepage-group-summary-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
.homepage-group-summary-row{position:relative;min-width:0;display:grid;grid-template-columns:48px minmax(0,1fr) auto;align-items:center;gap:13px;padding:18px 18px;text-decoration:none;color:inherit;border:1px solid rgba(13,79,59,.13);border-radius:20px;background:linear-gradient(145deg,rgba(255,255,255,.78),rgba(255,255,255,.48));box-shadow:0 10px 26px rgba(0,0,0,.055);transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease}
.homepage-group-summary-row:hover{transform:translateY(-3px);box-shadow:0 15px 32px rgba(0,0,0,.09);border-color:rgba(13,79,59,.23);background:linear-gradient(145deg,rgba(255,255,255,.9),rgba(255,255,255,.58))}
.homepage-group-summary-icon{width:48px;height:48px;border-radius:15px;display:grid;place-items:center;font-size:24px;background:rgba(13,79,59,.1);border:1px solid rgba(13,79,59,.11)}
.homepage-group-summary-info{min-width:0}
.homepage-group-summary-info .homepage-group-summary-code{display:block;min-width:0;font-size:.66rem;line-height:1.2;font-weight:800;letter-spacing:.1em;opacity:.5;margin-bottom:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.homepage-group-summary-info strong{display:block;min-width:0;font-size:1rem;line-height:1.25;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.homepage-group-summary-info small{display:block;margin-top:4px;font-size:.72rem;opacity:.58}
.homepage-group-summary-count{justify-self:end;min-width:50px;padding:9px 12px;border-radius:14px;text-align:center;font-size:1.15rem;font-weight:900;background:rgba(13,79,59,.1);border:1px solid rgba(13,79,59,.09);color:inherit}
.homepage-group-summary-empty{grid-column:1/-1;padding:28px 18px;text-align:center;opacity:.62;border:1px dashed rgba(13,79,59,.2);border-radius:18px}
@media(max-width:900px){.homepage-group-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.homepage-group-summary-grid{grid-template-columns:1fr;gap:12px}.homepage-group-summary-row{padding:15px}.homepage-group-summary-icon{width:44px;height:44px;border-radius:13px;font-size:22px}.homepage-group-summary-count{min-width:46px;padding:8px 10px;font-size:1.05rem}}

/* V48 - Dashboard Data Kelompok bergaya tabel layanan desa/OpenSID */
.homepage-group-subtitle{margin:4px 0 0;font-size:.82rem;opacity:.62}
.homepage-group-table-card{overflow:hidden;border:1px solid rgba(13,79,59,.14);border-radius:20px;background:rgba(255,255,255,.72);box-shadow:0 12px 32px rgba(0,0,0,.065)}
.homepage-group-table-head{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:17px 20px;background:linear-gradient(135deg,rgba(13,79,59,.10),rgba(255,255,255,.38));border-bottom:1px solid rgba(13,79,59,.10)}
.homepage-group-table-head>div{display:flex;align-items:center;gap:12px}.homepage-group-table-icon{width:44px;height:44px;display:grid;place-items:center;border-radius:13px;background:rgba(13,79,59,.12);font-size:22px;border:1px solid rgba(13,79,59,.12)}
.homepage-group-table-head strong,.homepage-group-table-head small{display:block}.homepage-group-table-head strong{font-size:1rem}.homepage-group-table-head small{margin-top:2px;font-size:.72rem;opacity:.58}.homepage-group-total-badge{padding:7px 12px;border-radius:999px;background:rgba(13,79,59,.10);font-size:.72rem;font-weight:800;white-space:nowrap}
.homepage-group-table-wrap{overflow-x:auto}.homepage-group-table{width:100%;border-collapse:collapse;min-width:650px}.homepage-group-table th{padding:12px 18px;background:rgba(13,79,59,.055);border-bottom:1px solid rgba(13,79,59,.10);font-size:.7rem;text-transform:uppercase;letter-spacing:.07em;text-align:left;opacity:.68}.homepage-group-table td{padding:12px 18px;border-bottom:1px solid rgba(13,79,59,.075);vertical-align:middle}.homepage-group-table tbody tr{transition:background .18s ease}.homepage-group-table tbody tr:hover{background:rgba(13,79,59,.035)}.homepage-group-table tbody tr:last-child td{border-bottom:0}
.homepage-group-table .col-no{width:70px;text-align:center}.homepage-group-table .col-member{width:190px}.homepage-group-table .col-action{width:120px;text-align:right}.homepage-group-number{display:inline-grid;place-items:center;width:29px;height:29px;border-radius:9px;background:rgba(13,79,59,.08);font-size:.75rem;font-weight:800}
.homepage-group-name{display:flex;align-items:center;gap:11px;text-decoration:none;color:inherit}.homepage-group-row-icon{width:38px;height:38px;display:grid;place-items:center;border-radius:11px;background:rgba(13,79,59,.08);font-size:19px;flex:0 0 38px}.homepage-group-name strong,.homepage-group-name small{display:block}.homepage-group-name strong{font-size:.92rem}.homepage-group-name small{margin-top:3px;font-size:.67rem;opacity:.5;letter-spacing:.06em}.homepage-group-member-badge{display:inline-flex;align-items:center;gap:5px;padding:7px 10px;border-radius:10px;background:rgba(13,79,59,.08);font-size:.78rem;font-weight:800;white-space:nowrap}.homepage-group-member-badge small{font-size:.65rem;font-weight:600;opacity:.58}.homepage-group-view{display:inline-flex;align-items:center;gap:5px;padding:7px 10px;border-radius:9px;text-decoration:none;font-size:.74rem;font-weight:800;color:inherit;background:rgba(13,79,59,.07)}.homepage-group-view span{font-size:1.1rem;line-height:.7}.homepage-group-view:hover{background:rgba(13,79,59,.13)}
.homepage-group-table-footer{display:flex;align-items:center;justify-content:flex-end;gap:8px;padding:13px 18px;background:rgba(13,79,59,.045);border-top:1px solid rgba(13,79,59,.08);font-size:.72rem}.homepage-group-table-footer strong{font-size:.88rem}.homepage-group-footer-sep{opacity:.35;margin:0 3px}.homepage-group-summary-empty{padding:24px;text-align:center;opacity:.62}
@media(max-width:700px){.homepage-group-table-head{padding:14px}.homepage-group-table-head>div{gap:9px}.homepage-group-table-icon{width:40px;height:40px}.homepage-group-table-footer{justify-content:center;flex-wrap:wrap}.homepage-group-subtitle{font-size:.76rem}.homepage-group-table th,.homepage-group-table td{padding:11px 12px}}
/* Navigasi logo: kembali ke dashboard utama */
.admin .side .brand{color:inherit;text-decoration:none;display:flex;flex-direction:column;align-items:center;cursor:pointer}
.login-logo{cursor:pointer}
.login-logo:focus-visible{outline:3px solid rgba(0,123,255,.35);outline-offset:6px;border-radius:18px}

.kud-type-label{font-weight:800;letter-spacing:.08em;text-transform:uppercase;font-size:.72em;line-height:1.15}.kud-name-label{font-weight:900}.kud-identity{display:flex;flex-direction:column;align-items:center;gap:2px}.site-brand .kud-identity{align-items:flex-start}.site-brand .kud-name-label{font-size:inherit}.site-brand .kud-type-label{font-size:.62em;opacity:.8}.admin .brand .kud-identity{align-items:center}.admin .brand .kud-type-label{font-size:11px}.admin .brand .kud-name-label{font-size:14px}.kud-heading-identity{text-align:center;margin:.35rem 0 .7rem}.kud-heading-identity .kud-type-label{font-size:.82rem}.kud-heading-identity .kud-name-label{font-size:clamp(1.35rem,3vw,2rem)}

/* MOBILE ONLY: perapihan tampilan Android tanpa mengubah desktop */
@media screen and (max-width:768px){
  html,body{max-width:100%;overflow-x:hidden;}
  body.admin-page .admin{display:block!important;width:100%!important;max-width:100%!important;min-width:0!important;}
  body.admin-page .admin>.main{box-sizing:border-box!important;width:100%!important;max-width:100%!important;min-width:0!important;margin:0!important;padding:68px 10px 24px!important;overflow-x:hidden!important;}
  body.admin-page .main>*{max-width:100%!important;min-width:0!important;box-sizing:border-box!important;}
  body.admin-page .page-head,body.admin-page .page-header,body.admin-page .content-head{display:flex!important;flex-wrap:wrap!important;align-items:flex-start!important;gap:10px!important;}
  body.admin-page .page-head>*,body.admin-page .page-header>*,body.admin-page .content-head>*{min-width:0!important;max-width:100%!important;}
  body.admin-page .card,body.admin-page .box,body.admin-page .panel,body.admin-page .stat-card,body.admin-page .dashboard-card{max-width:100%!important;min-width:0!important;box-sizing:border-box!important;overflow:hidden!important;}
  body.admin-page .grid,body.admin-page .stats-grid,body.admin-page .dashboard-grid,body.admin-page .cards-grid{grid-template-columns:1fr!important;min-width:0!important;gap:12px!important;}
  body.admin-page form{max-width:100%!important;min-width:0!important;}
  body.admin-page input,body.admin-page select,body.admin-page textarea,body.admin-page button{max-width:100%;box-sizing:border-box;font-size:14px;}
  body.admin-page .table-wrap,body.admin-page .table-responsive,body.admin-page .data-table-wrap{max-width:100%!important;overflow-x:auto!important;-webkit-overflow-scrolling:touch!important;}
  body.admin-page table{max-width:none;}
  body.admin-page .table-wrap table,body.admin-page .table-responsive table,body.admin-page .data-table-wrap table{min-width:620px;}
  body.admin-page .actions,body.admin-page .toolbar,body.admin-page .filters{display:flex!important;flex-wrap:wrap!important;gap:8px!important;max-width:100%!important;}
  body.admin-page .actions>* ,body.admin-page .toolbar>* ,body.admin-page .filters>*{flex:0 1 auto!important;min-width:0!important;}
  body.admin-page .struk-gaji,body.admin-page .salary-page,body.admin-page .slip-page{width:100%!important;max-width:100%!important;min-width:0!important;}
  body.admin-page .excel-table-scroll{width:100%!important;max-width:100%!important;overflow-x:auto!important;overflow-y:hidden!important;border:1px solid #222!important;border-radius:4px!important;background:#fff!important;-webkit-overflow-scrolling:touch!important;}
  body.admin-page .excel-table-scroll .excel-slip-table{width:760px!important;min-width:760px!important;border-collapse:collapse!important;table-layout:auto!important;}
  body.admin-page .excel-slip-table th,body.admin-page .excel-slip-table td{border:1px solid #111!important;color:#111!important;background-clip:padding-box!important;}
}

/* MOBILE ONLY: restore natural page scrolling for every admin page.
   Desktop layout remains unchanged. */
@media (max-width: 800px) {
  html, body {
    height: auto;
    min-height: 100%;
    overflow-x: hidden;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;
  }
  .admin {
    height: auto;
    min-height: 100vh;
    overflow: visible;
    align-items: stretch;
  }
  .admin .side {
    height: 100vh;
    min-height: 100vh;
    position: sticky;
    top: 0;
    align-self: flex-start;
  }
  .admin .main {
    height: auto;
    min-height: 100vh;
    overflow: visible;
    display: block;
    padding-bottom: 18px;
  }
  .admin .main > * {
    max-width: 100%;
  }
  .admin .admin-footer {
    position: static;
  }
}

/* FINAL MOBILE ADMIN SCROLL PATCH: Android only; desktop rules remain unchanged. */
@media screen and (max-width:800px){
  html,body{height:auto!important;min-height:100%!important;overflow-x:hidden!important;overflow-y:auto!important;position:static!important;}
  body.admin-page{touch-action:pan-y!important;}
  body.admin-page .admin{display:block!important;height:auto!important;min-height:100vh!important;overflow:visible!important;position:relative!important;}
  body.admin-page .admin>.main{display:block!important;height:auto!important;min-height:100vh!important;overflow:visible!important;position:relative!important;padding-bottom:90px!important;}
  body.admin-page .admin>.main>*{position:relative;}
  body.admin-page .admin>.side{overflow-y:auto!important;overflow-x:hidden!important;-webkit-overflow-scrolling:touch!important;}
  body.admin-page .settings-save-bar{display:flex!important;flex-wrap:wrap!important;align-items:center!important;gap:12px!important;position:static!important;bottom:auto!important;max-width:100%!important;overflow:visible!important;padding:14px!important;margin-top:18px!important;}
  body.admin-page .settings-save-bar>div{flex:1 1 180px!important;min-width:0!important;}
  body.admin-page .settings-save-bar .btn{display:inline-flex!important;align-items:center!important;justify-content:center!important;visibility:visible!important;opacity:1!important;position:relative!important;z-index:5!important;flex:0 1 auto!important;white-space:normal!important;}
  body.admin-page .profile-settings-form{overflow:visible!important;height:auto!important;min-height:0!important;}
  body.admin-page .settings-section{overflow:visible!important;height:auto!important;max-height:none!important;}
}

/* FINAL ANDROID ONE-FINGER SCROLL FIX: only mobile, desktop untouched */
@media screen and (max-width:800px){
  html,body,body.admin-page{height:auto!important;min-height:100%!important;overflow-x:hidden!important;overflow-y:auto!important;touch-action:pan-y!important;}
  body.admin-page *, body.admin-page *::before, body.admin-page *::after{touch-action:pan-y!important;}
  body.admin-page .admin{display:block!important;height:auto!important;min-height:100vh!important;overflow:visible!important;position:static!important;}
  body.admin-page .admin>.side{position:relative!important;top:auto!important;width:100%!important;height:auto!important;min-height:0!important;max-height:none!important;overflow:visible!important;}
  body.admin-page .admin>.side .side-nav-scroll{height:auto!important;max-height:none!important;overflow:visible!important;}
  body.admin-page .admin>.main{width:100%!important;height:auto!important;min-height:0!important;max-height:none!important;overflow:visible!important;position:static!important;}
  body.admin-page .admin-footer,body.admin-page .admin-side-footer{position:static!important;}
}

/* FINAL HOTFIX: Android admin menu and one-finger scrolling
   Keep desktop untouched; mobile uses a real off-canvas sidebar. */
@media screen and (max-width:800px){
  html,body{width:100%!important;min-height:100%!important;height:auto!important;overflow-x:hidden!important;overflow-y:auto!important;}
  body.admin-page{display:block!important;position:relative!important;touch-action:pan-y!important;overflow-y:auto!important;}
  body.admin-page>.admin{display:block!important;width:100%!important;height:auto!important;min-height:100vh!important;overflow:visible!important;position:relative!important;}
  body.admin-page>.admin>.main{display:block!important;width:100%!important;height:auto!important;min-height:100vh!important;max-height:none!important;overflow:visible!important;position:relative!important;margin:0!important;padding:68px 10px 70px!important;}
  body.admin-page>.admin>.side{display:flex!important;position:fixed!important;left:0!important;top:0!important;bottom:0!important;width:245px!important;height:100dvh!important;min-height:100dvh!important;max-height:none!important;z-index:19995!important;transform:translate3d(-110%,0,0)!important;transition:transform .22s ease!important;overflow:hidden!important;pointer-events:none!important;}
  body.admin-page.admin-sidebar-open>.admin>.side{transform:translate3d(0,0,0)!important;pointer-events:auto!important;}
  body.admin-page>.admin>.side .side-nav-scroll{display:block!important;flex:1 1 auto!important;min-height:0!important;max-height:none!important;overflow-y:auto!important;overflow-x:hidden!important;-webkit-overflow-scrolling:touch!important;touch-action:pan-y!important;}
  body.admin-page>.admin>.side a,body.admin-page>.admin>.side button{touch-action:manipulation!important;}
  body.admin-page>.admin-sidebar-backdrop{display:none!important;pointer-events:none!important;}
  body.admin-page.admin-sidebar-open>.admin-sidebar-backdrop{display:block!important;pointer-events:auto!important;}
  body.admin-page>.admin-footer{position:relative!important;display:flex!important;width:100%!important;height:auto!important;min-height:40px!important;z-index:100!important;}
  body.admin-page .admin-mobile-toggle{z-index:20000!important;touch-action:manipulation!important;}
}
