/* Cikoko V2504 – unified responsive shell: presentation only, preserves existing CMS */
:root{color-scheme:light}*,*::before,*::after{box-sizing:border-box}
html,body{margin:0;max-width:100%;min-width:0;overflow-x:clip}
img,video,svg,canvas{max-width:100%;height:auto}
.site-shell{width:100%;max-width:none;margin:0;border-radius:0;min-height:100dvh;box-shadow:none}
.site-shell > main,.site-shell > .topbar,.site-shell > .footer{width:100%;max-width:none}
.admin-layout{width:100%;max-width:none;min-width:0;min-height:100dvh;grid-template-columns:minmax(208px,236px) minmax(0,1fr)}
.admin-main,.admin-content,.admin-columns,.admin-box,.editor,.white-panel,.content-page,.section,.news-grid{min-width:0}
.admin-content{width:100%;max-width:none;padding:clamp(13px,2.3vw,32px)}
.admin-content .editor{max-width:min(100%,900px)}
.admin-top{min-height:74px;flex-wrap:wrap;gap:12px}
.admin-box,.ck-card,.white-panel{max-width:100%;overflow-wrap:anywhere}
.table-scroll,.table-wrap,.ck-table-scroll,.admin-content .admin-table-wrap{display:block;max-width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}
.admin-content pre,.content-page pre{max-width:100%;overflow:auto}
.admin-content input,.admin-content textarea,.admin-content select,.content-page input,.content-page textarea{max-width:100%;min-width:0}
.admin-content iframe,.content-page iframe,.ck-public-shell iframe{max-width:100%;border:0}
.content-page{width:100%;max-width:none;padding-inline:clamp(14px,4vw,62px)}
.content-page > :is(.section-header,.article,.news-grid,.listing-grid,.empty,.back-link){max-width:1480px;margin-inline:auto}
.section{width:100%;max-width:none;padding-inline:clamp(14px,3.5vw,55px)}
.section .news-grid,.section .section-header,.section .gallery-grid{max-width:1480px;margin-inline:auto}
.news-grid,.listing-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,255px),1fr));gap:clamp(12px,1.6vw,22px)}
.news-card,.ck-info-card,.ck-side-card{min-width:0}
.ck-public-shell{width:100%;max-width:none;padding-inline:clamp(14px,3.5vw,60px)}
.ck-public-main{min-width:0}.ck-public-side{min-width:0}
.cikoko-codeview-public iframe{width:100%;max-width:100%;min-height:420px}
:where(a,button,input,select,textarea):focus-visible{outline:3px solid #2b76dd;outline-offset:2px}
@media(max-width:980px){.admin-layout{grid-template-columns:minmax(185px,210px) minmax(0,1fr)}.admin-content{padding:16px}.admin-columns,.ck-editor-grid{grid-template-columns:1fr}}
@media(max-width:760px){.admin-layout{display:block}.admin-main,.admin-content{width:100%}.sidebar{position:relative;max-width:none;min-width:0}.side-nav{display:flex;flex-wrap:nowrap;overflow-x:auto;scrollbar-width:thin}.side-nav a{flex:0 0 auto;white-space:nowrap}.admin-top{padding:12px 15px}.admin-content{padding:12px}.content-page{padding:15px 13px 40px}.content-page .article{padding:15px}.news-grid,.listing-grid,.ck-inovasi-grid{grid-template-columns:1fr}.ck-page-head{flex-direction:column;align-items:stretch}.ck-editor-grid{display:block}.section{padding-inline:14px}.ck-public-shell{padding-inline:12px}.admin-content :where(.form-actions,.ck-buttons){flex-wrap:wrap}.admin-content :where(.form-actions,.ck-buttons)>*{max-width:100%}}
@media(max-width:400px){.admin-top h1{font-size:clamp(17px,5vw,22px)}.admin-content{padding:10px}.stat-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-table{min-width:540px}.hero h1{font-size:clamp(27px,9vw,36px)}}

/* Responsive pages for logged-in warga/petugas */
.portal-layout{width:100%;max-width:none;min-width:0;min-height:100dvh}
.portal-main,.portal-content,.portal-box,.portal-table-wrap{min-width:0;max-width:100%}
.portal-content{width:100%;max-width:none;padding:clamp(12px,2.6vw,34px)}
.portal-table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}
.portal-top{flex-wrap:wrap;gap:10px}
.portal-box :is(input,textarea,select){max-width:100%;min-width:0}
@media(max-width:850px){.portal-layout{display:block}.portal-sidebar{width:100%;min-width:0}.portal-sidebar nav{display:flex;overflow-x:auto}.portal-sidebar nav a{flex:0 0 auto}.portal-content{padding:13px}.portal-stats,.portal-grid.two{grid-template-columns:1fr}}
