:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;color:#102a43;background:#eef7fb}*{box-sizing:border-box}body{margin:0}.site-header{display:flex;gap:16px;align-items:center;padding:18px 24px;background:#fff;border-bottom:1px solid #d8e8ef}.brand{font-size:1.4rem;font-weight:800;color:#006b8f;text-decoration:none}.container{max-width:880px;margin:48px auto;padding:0 20px}.card{background:#fff;border:1px solid #d8e8ef;border-radius:18px;padding:32px;box-shadow:0 16px 40px rgba(24,80,104,.08)}.eyebrow{font-weight:800;text-transform:uppercase;letter-spacing:.08em;color:#007fa8}h1{line-height:1.15}a{color:#006b8f}button{border:0;border-radius:10px;padding:12px 18px;background:#007fa8;color:#fff;font-weight:700;cursor:pointer}.notice{padding:12px;border-radius:10px;margin-bottom:16px;background:#eaf8ef}code{background:#eaf3f6;padding:2px 6px;border-radius:6px}
.auth-shell{min-height:100vh;display:grid;place-items:center;padding:24px}.auth-card{width:min(100%,480px)}.stack-form{display:grid;gap:16px}.stack-form label{display:grid;gap:7px;font-weight:700}.stack-form input{width:100%;padding:12px 14px;border:1px solid #b9d2dd;border-radius:10px;background:#fff;color:#102a43;font:inherit}.stack-form input:focus{outline:3px solid rgba(0,127,168,.16);border-color:#007fa8}.notice-error{background:#fff0f0;color:#8a1f1f;border:1px solid #efc7c7}.notice-success{background:#eaf8ef;color:#185c2d;border:1px solid #bde2c8}.admin-header{justify-content:space-between}.admin-nav{display:flex;gap:14px;align-items:center;flex-wrap:wrap}.admin-nav a{text-decoration:none;font-weight:700}.inline-form{display:inline;margin:0}.button-secondary{background:#e8f3f7;color:#075a78}.section-gap{margin-top:24px}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse}th,td{text-align:left;padding:12px;border-bottom:1px solid #d8e8ef;vertical-align:middle}th{font-size:.9rem;color:#476579}

/* M04 Admin panel */
body.admin-body{background:#f3f7f9;color:#102a43}.admin-shell{min-height:100vh;display:grid;grid-template-columns:270px minmax(0,1fr)}.admin-sidebar{position:sticky;top:0;height:100vh;display:flex;flex-direction:column;background:#0c3344;color:#fff;padding:22px 18px}.admin-brand{display:flex;align-items:center;gap:12px;color:#fff;text-decoration:none;padding:4px 8px 22px;border-bottom:1px solid rgba(255,255,255,.13)}.admin-brand-mark{display:grid;place-items:center;width:44px;height:44px;border-radius:13px;background:#27b6d6;color:#062b3b;font-weight:900;letter-spacing:.04em}.admin-brand strong,.admin-brand small{display:block}.admin-brand small{margin-top:2px;color:#b9dce7}.sidebar-nav{display:grid;gap:4px;margin-top:20px}.sidebar-nav a{display:block;padding:11px 12px;border-radius:10px;color:#d8eef4;text-decoration:none;font-weight:700}.sidebar-nav a:hover,.sidebar-nav a.is-active{background:#15536a;color:#fff}.nav-label{margin:18px 12px 5px;color:#84b8c8;font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.1em}.sidebar-account{margin-top:auto;padding:18px 8px 0;border-top:1px solid rgba(255,255,255,.13)}.sidebar-account span,.sidebar-account small{display:block}.sidebar-account small{color:#a8cfda;margin:3px 0 12px}.button-block{width:100%}.admin-main{min-width:0}.admin-topbar{min-height:74px;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 30px;background:#fff;border-bottom:1px solid #d8e8ef}.admin-topbar strong,.admin-topbar span{display:block}.admin-topbar span{font-size:.82rem;color:#6b8290;margin-top:3px}.admin-content{max-width:1240px;margin:0 auto;padding:34px 30px 60px}.page-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:24px;margin-bottom:24px}.page-heading h1{margin:.25rem 0 .65rem;font-size:clamp(1.7rem,3vw,2.35rem)}.muted{color:#5c7481;max-width:760px;line-height:1.65}.button,.button-link{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;border-radius:10px;padding:12px 18px;font-weight:800}.button{background:#007fa8;color:#fff}.button-secondary.button-link{background:#e8f3f7;color:#075a78}.button-danger{background:#b42318}.stats-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}.stat-card{background:#fff;border:1px solid #d8e8ef;border-radius:16px;padding:20px;box-shadow:0 8px 24px rgba(24,80,104,.05)}.stat-label,.stat-note{display:block;color:#5f7885}.stat-label{font-size:.82rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em}.stat-value{display:block;font-size:2rem;margin:8px 0 5px}.stat-value-small{font-size:1.35rem}.stat-note{font-size:.86rem;line-height:1.45}.section-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:20px}.section-heading h2{margin:.2rem 0 0}.activity-list{display:grid}.activity-item{display:flex;justify-content:space-between;gap:18px;padding:15px 0;border-bottom:1px solid #e3edf1}.activity-item:last-child{border-bottom:0}.activity-item strong,.activity-item span{display:block}.activity-item span,.activity-item time{margin-top:4px;color:#6a818c;font-size:.84rem}.empty-state{padding:20px;border:1px dashed #bcd4de;border-radius:12px;color:#5d7580;text-align:center}.notice-warning{background:#fff8e8;color:#6c4b06;border:1px solid #ecd399}.settings-form{display:grid}.form-grid{display:grid;gap:18px}.form-grid-two{grid-template-columns:repeat(2,minmax(0,1fr))}.form-grid label,.stack-form label{display:grid;gap:7px;font-weight:750}.form-grid input,.form-grid textarea,.stack-form textarea{width:100%;padding:12px 14px;border:1px solid #b9d2dd;border-radius:10px;background:#fff;color:#102a43;font:inherit}.form-grid textarea{resize:vertical;line-height:1.5}.form-grid input:focus,.form-grid textarea:focus{outline:3px solid rgba(0,127,168,.16);border-color:#007fa8}.form-grid input[readonly]{background:#eef4f6;color:#55707d}.form-span-two{grid-column:1/-1}.field-help,.optional{font-size:.8rem;font-weight:500;color:#708690}.checkbox-field{grid-template-columns:auto 1fr!important;align-items:flex-start;padding:12px 0}.checkbox-field input{width:20px;height:20px;margin-top:2px}.checkbox-field strong,.checkbox-field small{display:block}.checkbox-field small{margin-top:4px;color:#708690;font-weight:500;line-height:1.45}.form-actions{display:flex;gap:12px;align-items:center;margin-top:22px}.status-badge{display:inline-flex;padding:8px 12px;border-radius:999px;font-weight:800}.status-success{background:#e5f6eb;color:#176335}.status-danger{background:#feeceb;color:#9d241b}.definition-list{display:grid;gap:12px}.definition-list div{display:grid;grid-template-columns:140px 1fr;gap:14px;padding:12px 0;border-bottom:1px solid #e0ebef}.definition-list dt{font-weight:800}.definition-list dd{margin:0;color:#526c79}
@media (max-width:1000px){.admin-shell{grid-template-columns:220px minmax(0,1fr)}.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:760px){.admin-shell{display:block}.admin-sidebar{position:relative;height:auto}.sidebar-nav{grid-template-columns:repeat(2,minmax(0,1fr))}.nav-label{grid-column:1/-1}.sidebar-account{margin-top:20px}.admin-topbar{padding:14px 18px}.admin-content{padding:24px 16px 48px}.page-heading{display:grid}.stats-grid,.form-grid-two{grid-template-columns:1fr}.activity-item{display:grid}.form-actions{align-items:stretch;flex-direction:column}.definition-list div{grid-template-columns:1fr;gap:4px}}

/* M05 Media Library */
select{width:100%;padding:12px 14px;border:1px solid #b9d2dd;border-radius:10px;background:#fff;color:#102a43;font:inherit}.media-stats{margin-bottom:20px}.media-filter-form{display:grid;grid-template-columns:minmax(220px,2fr) repeat(3,minmax(150px,1fr)) auto;gap:14px;align-items:end}.media-filter-form label{display:grid;gap:7px;font-weight:750}.media-filter-form input{width:100%;padding:12px 14px;border:1px solid #b9d2dd;border-radius:10px;background:#fff;font:inherit}.media-filter-actions{margin:0;white-space:nowrap}.media-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}.media-card{overflow:hidden;background:#fff;border:1px solid #d8e8ef;border-radius:16px;box-shadow:0 8px 24px rgba(24,80,104,.05)}.media-card-image{display:block;aspect-ratio:4/3;background:#dcebf0;overflow:hidden}.media-card-image img{width:100%;height:100%;display:block;object-fit:cover}.media-card-body{padding:16px}.media-card-body h2{font-size:1rem;margin:12px 0 7px;line-height:1.35}.media-card-body h2 a{text-decoration:none;color:#123949}.media-card-body p,.media-card-body small{display:block;margin:0;color:#667f8b}.media-card-badges{display:flex;gap:6px;flex-wrap:wrap}.status-neutral{background:#edf4f6;color:#4d6976;font-size:.72rem;padding:6px 9px}.upload-drop-field{padding:20px;border:2px dashed #b7d2dd;border-radius:14px;background:#f7fbfc}.upload-drop-field input{padding:10px;background:#fff}.media-detail-grid{display:grid;grid-template-columns:minmax(300px,420px) minmax(0,1fr);gap:24px;align-items:start}.media-preview-panel{position:sticky;top:96px}.media-preview-panel>img{display:block;width:100%;height:auto;max-height:540px;object-fit:contain;border-radius:12px;background:#eaf2f5}.media-detail-content{min-width:0}.usage-list{list-style:none;padding:0;margin:0;display:grid}.usage-list li{display:flex;justify-content:space-between;gap:18px;padding:12px 0;border-bottom:1px solid #e1ebef}.usage-list li:last-child{border-bottom:0}.inline-actions{display:flex;gap:10px;flex-wrap:wrap}.compact-form{max-width:540px}.danger-zone{border-color:#efc4c1}.danger-zone .eyebrow{color:#a52a20}.button-danger{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:10px;padding:12px 18px;color:#fff;font-weight:800;cursor:pointer}.button-secondary{border:0;border-radius:10px;padding:12px 18px;font-weight:800;cursor:pointer}.media-preview-panel code{word-break:break-all}
@media (max-width:1180px){.media-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.media-filter-form{grid-template-columns:repeat(2,minmax(0,1fr))}.media-filter-actions{grid-column:1/-1}.media-detail-grid{grid-template-columns:340px minmax(0,1fr)}}
@media (max-width:860px){.media-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.media-detail-grid{grid-template-columns:1fr}.media-preview-panel{position:static}.media-filter-form{grid-template-columns:1fr 1fr}}
@media (max-width:560px){.media-grid,.media-filter-form{grid-template-columns:1fr}.media-filter-actions{display:grid;grid-template-columns:1fr 1fr}.inline-actions{display:grid}.media-card-body{padding:14px}}

/* M06 Layanan dan Area Pelayanan */
.content-filter-card{padding:18px 20px}.compact-filter-form{display:flex;align-items:end;gap:14px;flex-wrap:wrap}.compact-filter-form label{display:grid;gap:7px;min-width:220px;font-weight:750}.compact-filter-form .form-actions{margin:0}.table-subtext{display:block;margin-top:5px;color:#708690}.table-actions{display:flex;gap:12px;flex-wrap:wrap}.table-actions a{font-weight:800;text-decoration:none}.content-editor-grid{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:24px;align-items:start}.content-editor-main{min-width:0}.content-editor-sidebar{position:sticky;top:96px}.editorial-note h2{margin-top:0;font-size:1.05rem}.editorial-note p{margin-bottom:0;color:#5c7481;line-height:1.6}.content-preview{max-width:920px;margin:0 auto;padding:clamp(22px,4vw,48px)}.content-preview h2{margin-top:2rem}.content-preview p{line-height:1.75}.content-preview-image{width:100%;max-height:520px;object-fit:cover;border-radius:14px;margin-bottom:24px}.lead-text{font-size:1.08rem;color:#264f60}.preview-cta{margin-top:32px;padding:22px;border-radius:14px;background:#eaf8fb;border:1px solid #bfe2eb}.preview-cta strong{font-size:1.12rem}.service-area-grid{display:grid;gap:22px}.service-area-card{padding:0;overflow:hidden}.service-area-card>header{padding:20px 22px;background:#f6fafb;border-bottom:1px solid #dce9ee}.service-area-card>header h2{margin:0 0 5px;font-size:1.15rem}.service-area-card>header small{color:#667f8b}.service-area-list{display:grid}.service-area-row{display:grid;grid-template-columns:minmax(180px,1.1fr) 190px minmax(220px,1.5fr) 90px auto;gap:12px;align-items:center;padding:15px 20px;border-bottom:1px solid #e1ebef}.service-area-row:last-child{border-bottom:0}.service-area-row>div strong,.service-area-row>div small{display:block}.service-area-row>div small{margin-top:4px;color:#708690;line-height:1.35}.service-area-row input[type=text],.service-area-row input:not([type]){width:100%;padding:10px 12px;border:1px solid #b9d2dd;border-radius:9px;font:inherit}.compact-checkbox{display:flex!important;align-items:center;gap:7px;font-weight:700}.compact-checkbox input{width:18px;height:18px}.compact-checkbox span{white-space:nowrap}
@media (max-width:1100px){.content-editor-grid{grid-template-columns:1fr}.content-editor-sidebar{position:static}.service-area-row{grid-template-columns:1fr 180px minmax(180px,1fr);}.service-area-row .compact-checkbox,.service-area-row button{justify-self:start}}
@media (max-width:760px){.compact-filter-form{display:grid}.content-filter-card{padding:16px}.service-area-row{grid-template-columns:1fr;padding:16px}.service-area-row select,.service-area-row input,.service-area-row button{width:100%}.table-actions{display:grid}.content-preview{padding:20px}}

/* M07 Website Publik Dasar */
body.public-body{background:#fff;color:#102a43;line-height:1.55}.skip-link{position:fixed;left:16px;top:-80px;z-index:1000;padding:10px 14px;border-radius:8px;background:#0c3344;color:#fff}.skip-link:focus{top:16px}.public-header{position:sticky;top:0;z-index:80;background:rgba(255,255,255,.96);border-bottom:1px solid #dce9ee;backdrop-filter:blur(10px)}.public-header-inner{max-width:1220px;margin:0 auto;min-height:76px;padding:10px 22px;display:flex;align-items:center;gap:24px}.public-brand{display:flex;align-items:center;gap:10px;text-decoration:none;color:#0c3344;min-width:max-content}.public-brand img{display:block;max-width:148px;height:48px;object-fit:contain}.public-brand-mark{font-size:1.65rem;font-weight:950;letter-spacing:-.06em;color:#007fa8}.public-brand-copy strong,.public-brand-copy small{display:block}.public-brand-copy strong{font-size:1rem}.public-brand-copy small{font-size:.72rem;color:#5c7481}.public-nav{display:flex;align-items:center;justify-content:center;gap:4px;margin-left:auto}.public-nav a{padding:10px 11px;border-radius:9px;text-decoration:none;color:#284d5d;font-weight:750;font-size:.92rem}.public-nav a:hover,.public-nav a.is-active{background:#e9f6fa;color:#006b8f}.public-wa-button{display:inline-flex;align-items:center;justify-content:center;padding:11px 15px;border-radius:10px;text-decoration:none;background:#128c4f;color:#fff;font-weight:850;white-space:nowrap}.mobile-nav{display:none;margin-left:auto}.mobile-nav summary{cursor:pointer;list-style:none;border:1px solid #bfd5de;border-radius:9px;padding:9px 12px;font-weight:800}.mobile-nav summary::-webkit-details-marker{display:none}.mobile-nav nav{position:absolute;right:16px;top:68px;width:min(300px,calc(100vw - 32px));display:grid;padding:10px;background:#fff;border:1px solid #d8e8ef;border-radius:14px;box-shadow:0 20px 45px rgba(12,51,68,.16)}.mobile-nav nav a{padding:11px 12px;border-radius:8px;text-decoration:none;font-weight:750}.public-shell{width:min(1180px,calc(100% - 40px));margin:0 auto}.public-flash-wrap{width:min(1180px,calc(100% - 40px));margin:18px auto 0}.public-hero{overflow:hidden;background:linear-gradient(135deg,#eaf8fb 0%,#f7fcfd 45%,#dff4fa 100%);border-bottom:1px solid #d9edf2}.hero-grid{min-height:620px;padding:68px 0;display:grid;grid-template-columns:minmax(0,1.08fr) minmax(380px,.92fr);gap:56px;align-items:center}.hero-copy h1{max-width:760px;margin:.45rem 0 1.25rem;font-size:clamp(2.3rem,5.3vw,4.8rem);letter-spacing:-.055em;line-height:1.01}.hero-lead{max-width:700px;margin:0;color:#315869;font-size:clamp(1.02rem,1.8vw,1.22rem);line-height:1.72}.hero-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:28px}.public-button-secondary{background:#fff;color:#075a78;border:1px solid #b8d8e2}.public-button-wa{background:#128c4f;color:#fff}.hero-trust{display:flex;gap:18px;flex-wrap:wrap;padding:0;margin:26px 0 0;list-style:none;color:#3f6575;font-weight:700;font-size:.9rem}.hero-trust li{display:flex;align-items:center;gap:8px}.hero-trust li:before{content:'✓';display:grid;place-items:center;width:22px;height:22px;border-radius:50%;background:#fff;color:#128c4f;font-weight:950}.hero-visual{position:relative;min-height:450px;display:grid;place-items:center}.pool-shape{position:absolute;inset:20px 0 54px 10px;border-radius:42% 58% 48% 52% / 54% 42% 58% 46%;overflow:hidden;background:linear-gradient(145deg,#27b9dd,#007fa8 60%,#005d80);box-shadow:0 28px 70px rgba(0,91,128,.25),inset 0 0 0 10px rgba(255,255,255,.65)}.pool-shape:before,.pool-shape:after,.pool-shape span{content:'';position:absolute;border-radius:50%;border:2px solid rgba(255,255,255,.32)}.pool-shape:before{width:240px;height:88px;left:-40px;top:80px}.pool-shape:after{width:280px;height:110px;right:-60px;bottom:78px}.pool-shape span:nth-child(1){width:360px;height:130px;left:70px;top:160px}.pool-shape span:nth-child(2){width:220px;height:80px;left:120px;top:245px}.pool-shape span:nth-child(3){width:420px;height:150px;left:-10px;top:20px}.hero-visual-card{position:absolute;right:0;bottom:18px;width:min(330px,86%);padding:22px;border-radius:18px;background:#fff;box-shadow:0 20px 55px rgba(11,63,85,.18);border:1px solid rgba(181,216,226,.8)}.hero-visual-card strong{font-size:1.08rem}.hero-visual-card p{margin:.45rem 0 0;color:#5c7481}.public-section{padding:82px 0}.section-tint{background:#f2f9fb}.section-intro{max-width:760px;margin-bottom:34px}.section-intro h2{margin:.35rem 0 .8rem;font-size:clamp(1.75rem,3.4vw,2.8rem);letter-spacing:-.035em}.section-intro>p:last-child{color:#526f7d;font-size:1.02rem}.public-card-grid{display:grid;gap:22px}.service-card-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.public-card{background:#fff;border:1px solid #d9e8ed;border-radius:18px;padding:26px;box-shadow:0 10px 30px rgba(12,66,88,.06)}.service-card{padding:0;overflow:hidden}.service-card>img{display:block;width:100%;aspect-ratio:14/9;object-fit:cover;background:#dcebf0}.public-card-body{padding:24px}.public-card h2,.public-card h3{margin:.45rem 0 .65rem;line-height:1.25}.public-card h2 a,.public-card h3 a{text-decoration:none;color:#133f50}.public-card p{color:#5b7581}.card-kicker{display:block;color:#007fa8;font-size:.74rem;font-weight:850;text-transform:uppercase;letter-spacing:.07em}.text-link{font-weight:850;text-decoration:none;color:#00769d}.public-empty{padding:32px;border:1px dashed #b8d4de;border-radius:16px;text-align:center;color:#58727e}.area-chip-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.area-chip-grid a{display:grid;gap:5px;padding:18px;border-radius:14px;background:#fff;border:1px solid #d5e8ed;text-decoration:none;color:#173f4f}.area-chip-grid a:hover{transform:translateY(-2px);box-shadow:0 12px 28px rgba(12,66,88,.08)}.area-chip-grid span{color:#637d89;font-size:.86rem}.section-action{margin-top:24px}.process-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;list-style:none;padding:0;margin:0}.process-grid li{position:relative;padding:24px 20px;border:1px solid #d7e7ec;border-radius:16px;background:#fff}.process-grid li>span{display:grid;place-items:center;width:38px;height:38px;border-radius:12px;background:#dff5fa;color:#00769d;font-weight:900}.process-grid strong{display:block;margin:16px 0 7px}.process-grid p{margin:0;color:#607984;font-size:.92rem}.public-cta-band{width:min(1180px,calc(100% - 40px));margin:0 auto 82px;display:flex;align-items:center;justify-content:space-between;gap:28px;padding:36px 40px;border-radius:22px;background:#0c3344;color:#fff}.public-cta-band h2{margin:.35rem 0 .6rem;font-size:clamp(1.6rem,3vw,2.35rem)}.public-cta-band p{margin:0;max-width:740px;color:#c6e0e8}.page-hero{padding:58px 0 52px;background:linear-gradient(135deg,#edf9fb,#f8fcfd);border-bottom:1px solid #d9eaef}.page-hero h1{max-width:850px;margin:.45rem 0 .8rem;font-size:clamp(2rem,4.3vw,3.65rem);letter-spacing:-.045em}.page-hero p:last-child{max-width:820px;color:#486875;font-size:1.08rem}.breadcrumbs ol{display:flex;gap:8px;align-items:center;flex-wrap:wrap;list-style:none;padding:0;margin:0 0 24px;font-size:.84rem}.breadcrumbs li+li:before{content:'/';margin-right:8px;color:#8aa1aa}.breadcrumbs a{text-decoration:none}.area-list-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.area-card{display:flex;flex-direction:column}.area-card .text-link{margin-top:auto}.area-note{margin:8px 0 18px;padding:12px 14px;border-radius:10px;background:#edf7fa;color:#416473;font-size:.9rem}.detail-layout{display:grid;grid-template-columns:minmax(0,1fr) 330px;gap:42px;align-items:start}.detail-main{min-width:0}.detail-main>section{margin-top:42px}.detail-main h2{font-size:clamp(1.4rem,2.5vw,2rem)}.detail-featured-image{display:block;width:100%;max-height:590px;object-fit:cover;border-radius:20px;background:#e2edf1;margin-bottom:34px}.prose{font-size:1.02rem;color:#294f5f}.prose p{line-height:1.85;margin:0 0 1.15rem}.detail-sidebar{position:sticky;top:104px;display:grid;gap:18px}.sidebar-card{padding:24px;border:1px solid #d7e7ec;border-radius:18px;background:#f7fbfc}.sidebar-card h2{font-size:1.28rem;margin:.35rem 0 .65rem}.sidebar-card p{color:#56717d}.availability-list{list-style:none;padding:0;margin:0;display:grid}.availability-list li{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;padding:12px 0;border-bottom:1px solid #dfebef}.availability-list li:last-child{border-bottom:0}.availability-list a{text-decoration:none;font-weight:750}.availability-list span,.service-availability-grid article>span{display:inline-flex;align-items:center;padding:5px 8px;border-radius:999px;font-size:.7rem;font-weight:850;white-space:nowrap}.availability-available{background:#e6f6eb;color:#176335}.availability-consultation_required{background:#fff4da;color:#775310}.availability-not_available{background:#f5e9e8;color:#8c2d25}.information-panel{padding:24px;border-radius:16px;background:#edf8fa;border-left:5px solid #21a5c5}.service-availability-grid{display:grid;gap:12px}.service-availability-grid article{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:18px;border:1px solid #dae8ed;border-radius:14px}.service-availability-grid h3{margin:0}.service-availability-grid h3 a{text-decoration:none}.service-availability-grid p{margin:.35rem 0 0;color:#617984}.narrow-content{max-width:860px}.fact-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-top:34px}.fact-grid div{padding:20px;border-radius:14px;background:#eef8fa}.fact-grid strong,.fact-grid span{display:block}.fact-grid span{margin-top:5px;color:#4f6c78}.contact-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.contact-card{padding:30px;border:1px solid #d8e7ec;border-radius:18px;background:#fff}.contact-card h2{margin-top:0}.contact-card dl{margin:0}.contact-card dl div{display:grid;grid-template-columns:130px 1fr;gap:14px;padding:14px 0;border-bottom:1px solid #e1ecef}.contact-card dt{font-weight:850}.contact-card dd{margin:0;color:#526f7c}.contact-action{background:#eff9fb}.consultation-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.check-list{display:grid;gap:12px;padding-left:20px;color:#3d6170}.consultation-action{text-align:center}.sitemap-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.sitemap-grid ul{display:grid;gap:9px;padding-left:20px}.public-footer{padding:62px 0 20px;background:#082c3b;color:#d9edf3}.public-footer-grid{width:min(1180px,calc(100% - 40px));margin:0 auto;display:grid;grid-template-columns:1.5fr repeat(3,1fr);gap:42px}.public-footer h2{font-size:.9rem;text-transform:uppercase;letter-spacing:.08em;color:#7fc8db}.public-footer p{color:#b9d3db}.public-footer a{display:block;color:#e9f7fa;text-decoration:none;margin:8px 0}.public-footer p a{display:inline}.footer-brand{font-size:1.5rem;color:#fff}.public-footer-bottom{width:min(1180px,calc(100% - 40px));margin:36px auto 0;padding-top:18px;border-top:1px solid rgba(255,255,255,.12);display:flex;justify-content:space-between;gap:20px;color:#9ec2cd;font-size:.82rem}.floating-wa{position:fixed;right:20px;bottom:20px;z-index:70;display:none;padding:13px 16px;border-radius:999px;background:#128c4f;color:#fff;text-decoration:none;font-weight:900;box-shadow:0 14px 34px rgba(11,92,52,.28)}
@media (max-width:1050px){.public-nav,.public-wa-button{display:none}.mobile-nav{display:block}.hero-grid{grid-template-columns:1fr;min-height:auto;padding:58px 0}.hero-copy{max-width:800px}.hero-visual{min-height:390px;max-width:660px;width:100%;margin:0 auto}.service-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.area-chip-grid,.process-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.public-footer-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.detail-layout{grid-template-columns:minmax(0,1fr) 300px}}
@media (max-width:760px){.public-header-inner{min-height:66px;padding:8px 16px}.public-brand-copy{display:none}.public-brand img{height:42px;max-width:126px}.public-shell,.public-flash-wrap,.public-cta-band,.public-footer-grid,.public-footer-bottom{width:min(100% - 28px,1180px)}.public-section{padding:58px 0}.hero-grid{padding:44px 0;gap:30px}.hero-copy h1{font-size:clamp(2.15rem,12vw,3.45rem)}.hero-actions{display:grid}.hero-actions a{width:100%}.hero-trust{display:grid;gap:10px}.hero-visual{min-height:315px}.pool-shape{inset:0 0 48px}.hero-visual-card{padding:18px}.service-card-grid,.area-list-grid,.contact-grid,.consultation-grid,.sitemap-grid,.fact-grid{grid-template-columns:1fr}.area-chip-grid,.process-grid{grid-template-columns:1fr}.public-cta-band{margin-bottom:58px;padding:28px 24px;display:grid}.detail-layout{grid-template-columns:1fr;gap:28px}.detail-sidebar{position:static}.service-availability-grid article{display:grid}.contact-card dl div{grid-template-columns:1fr;gap:4px}.public-footer-grid{grid-template-columns:1fr;gap:26px}.public-footer-bottom{display:grid}.floating-wa{display:block}.page-hero{padding:40px 0}.page-hero h1{font-size:clamp(2rem,10vw,3rem)}}
@media (prefers-reduced-motion:reduce){*{scroll-behavior:auto!important;transition:none!important}.area-chip-grid a:hover{transform:none}}

/* M08 Articles, FAQ, Portfolios */
.relation-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.relation-columns-four{grid-template-columns:repeat(4,minmax(0,1fr))}.relation-columns fieldset{min-width:0;margin:0;padding:18px;border:1px solid #d8e8ef;border-radius:14px}.relation-columns legend{padding:0 8px;font-weight:850}.relation-columns .checkbox-field{padding:8px 0}.article-card-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.article-prose h2,.article-prose h3{scroll-margin-top:110px;margin-top:2rem}.article-prose ul{padding-left:1.3rem}.article-prose li{margin:.55rem 0;line-height:1.7}.faq-section{margin-top:44px}.faq-list{display:grid;gap:12px}.faq-list details{border:1px solid #d5e6ec;border-radius:14px;background:#fff;overflow:hidden}.faq-list summary{cursor:pointer;padding:18px 20px;font-weight:850;color:#153f50}.faq-list details>div{padding:0 20px 20px;color:#496a78;line-height:1.75}.sidebar-link{display:block;padding:10px 0;border-bottom:1px solid #dbe8ed;text-decoration:none;font-weight:750}.sidebar-link:last-child{border-bottom:0}.media-relation-list{display:grid;gap:12px}.media-relation-list article{display:grid;grid-template-columns:minmax(0,1fr) 180px 100px;gap:14px;align-items:center;padding:14px;border:1px solid #d8e8ef;border-radius:12px}.media-relation-list select,.media-relation-list input{width:100%}.portfolio-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.portfolio-gallery figure{margin:0;border:1px solid #d7e7ec;border-radius:16px;overflow:hidden;background:#fff}.portfolio-gallery img{display:block;width:100%;aspect-ratio:3/2;object-fit:cover}.portfolio-gallery figcaption{display:grid;gap:4px;padding:14px}.portfolio-gallery figcaption span{color:#607985;font-size:.86rem}.table-subtext{display:block;margin-top:4px;color:#708690;font-size:.78rem}.table-actions{display:flex;gap:12px;white-space:nowrap}.inline-actions{display:flex;gap:10px;flex-wrap:wrap}.content-editor-grid{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:24px;align-items:start}.content-editor-sidebar{position:sticky;top:96px}.content-filter-card{padding:20px}.compact-filter-form{display:flex;align-items:end;gap:14px}.compact-filter-form label{min-width:220px}.status-neutral{background:#edf3f6;color:#45616e}
@media(max-width:1050px){.relation-columns-four{grid-template-columns:repeat(2,minmax(0,1fr))}.article-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.content-editor-grid{grid-template-columns:1fr}.content-editor-sidebar{position:static}}
@media(max-width:760px){.relation-columns,.relation-columns-four,.article-card-grid,.portfolio-gallery{grid-template-columns:1fr}.media-relation-list article{grid-template-columns:1fr}.compact-filter-form{display:grid;align-items:stretch}.compact-filter-form label{min-width:0}.table-actions{display:grid;white-space:normal}}

/* M09 Asisten Konten AI Gratis */
.ai-summary-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.ai-summary-grid .card{padding:22px}.ai-summary-grid h2{margin:.35rem 0}.ai-fact-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.ai-fact-grid>div{padding:18px;border:1px solid #d8e8ef;border-radius:14px;background:#f8fbfc}.ai-fact-grid h3{margin-top:0}.ai-fact-grid p{white-space:normal;line-height:1.7}.ai-media-picker{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;max-height:430px;overflow:auto;padding:4px}.ai-media-option{display:flex;gap:12px;align-items:flex-start;padding:14px;border:1px solid #d8e8ef;border-radius:12px;background:#fff}.ai-media-option input{margin-top:4px}.ai-media-option span,.ai-media-option small{display:block}.ai-media-option small{margin-top:4px;color:#66808b}.ai-step-list{padding-left:1.25rem;display:grid;gap:9px;color:#486976}.code-textarea{width:100%;font:500 .82rem/1.55 ui-monospace,SFMono-Regular,Consolas,monospace;background:#0d2631;color:#e9f8fc;border:1px solid #254b59;border-radius:14px;padding:18px;resize:vertical}.compact-heading{margin-bottom:18px}.compact-heading h2{margin-bottom:0}.ai-validation-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.ai-validation-grid>div{padding:18px;border:1px solid #d8e8ef;border-radius:14px;background:#f9fcfd}.ai-validation-grid h3{margin-top:0}.check-result-list{list-style:none;padding:0;display:grid;gap:9px}.check-result-list li{display:flex;gap:9px;align-items:center;text-transform:capitalize}.check-result-list li span{display:inline-flex;min-width:62px;justify-content:center;padding:4px 7px;border-radius:999px;font-size:.7rem;font-weight:850}.check-result-list .is-pass span{background:#e3f6e9;color:#176536}.check-result-list .is-fail span{background:#fff0e8;color:#9a3c18}.status-success{background:#e3f6e9;color:#176536}.status-danger{background:#fdeaea;color:#8f2525}.json-preview{max-height:560px;overflow:auto;padding:18px;border-radius:14px;background:#102a35;color:#e9f8fc;white-space:pre-wrap;word-break:break-word}.approval-card{border-color:#9bd8b2;background:#f4fcf7}.empty-state{text-align:center;padding:36px 16px}.empty-state h2{margin-top:0}
@media(max-width:1050px){.ai-summary-grid,.ai-validation-grid{grid-template-columns:1fr}.ai-fact-grid{grid-template-columns:1fr}}
@media(max-width:760px){.ai-media-picker{grid-template-columns:1fr}.code-textarea{font-size:.75rem}}

/* M10 Konsultasi, Lead, dan WhatsApp */
.lead-form-layout{display:grid;grid-template-columns:minmax(0,1fr) 350px;gap:28px;align-items:start}.lead-form-sidebar{display:grid;gap:18px;position:sticky;top:96px}.consultation-form{padding:30px}.form-grid.two-columns{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.field-error{display:block;margin-top:6px;color:#a13227;font-weight:750}.form-footnote{margin:0;color:#617984;font-size:.84rem}.hp-field{position:absolute!important;left:-9999px!important;width:1px!important;height:1px!important;overflow:hidden!important}.consent-box{padding:16px;border:1px solid #cfe4eb;border-radius:13px;background:#f7fbfc}.direct-wa-card{background:#eff9f3;border-color:#badfc8}.lead-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px}.lead-summary-grid article{padding:22px}.lead-summary-grid strong{display:block;margin:.35rem 0;font-size:2rem;color:#123e4f}.lead-summary-grid small{color:#64808b}.lead-filter-form{display:grid;grid-template-columns:220px minmax(260px,1fr) auto;gap:14px;align-items:end}.lead-detail-grid{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:24px;align-items:start}.lead-data-list{margin:0}.lead-data-list>div{display:grid;grid-template-columns:150px 1fr;gap:16px;padding:13px 0;border-bottom:1px solid #dce9ed}.lead-data-list dt{font-weight:850;color:#244d5d}.lead-data-list dd{margin:0;color:#526f7c;overflow-wrap:anywhere}.lead-message{margin-top:24px;padding:20px;border-radius:14px;background:#f2f9fb}.lead-message h3{margin-top:0}.lead-message p{margin-bottom:0;line-height:1.75}.lead-detail-sidebar .sticky-card{position:sticky;top:96px}.lead-attachment-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.lead-attachment-grid a{display:grid;gap:5px;padding:16px;border:1px solid #d6e7ec;border-radius:13px;text-decoration:none;background:#f8fbfc}.lead-attachment-grid small{color:#66808b}.lead-history{display:grid;gap:0}.lead-history article{position:relative;padding:0 0 22px 26px;border-left:2px solid #cfe2e8}.lead-history article:before{content:"";position:absolute;left:-6px;top:3px;width:10px;height:10px;border-radius:50%;background:#1b90ad}.lead-history article:last-child{padding-bottom:0}.lead-history strong,.lead-history span{display:block}.lead-history span{margin-top:4px;color:#708690;font-size:.82rem}.lead-history p{margin:.55rem 0 0;color:#526f7c}
@media(max-width:1050px){.lead-form-layout,.lead-detail-grid{grid-template-columns:1fr}.lead-form-sidebar,.lead-detail-sidebar .sticky-card{position:static}.lead-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.lead-filter-form{grid-template-columns:1fr 1fr}.lead-filter-form .form-actions{grid-column:1/-1}}
@media(max-width:760px){.form-grid.two-columns,.lead-summary-grid,.lead-filter-form,.lead-attachment-grid{grid-template-columns:1fr}.lead-filter-form .form-actions{grid-column:auto}.consultation-form{padding:22px}.lead-data-list>div{grid-template-columns:1fr;gap:4px}}

/* M12 Laporan dan Pengukuran */
.report-page-heading{align-items:flex-start}.report-filter-card{padding:22px}.report-filter-form{display:grid;grid-template-columns:repeat(2,minmax(180px,240px)) auto;gap:14px;align-items:end}.report-filter-form .form-actions{margin:0}.report-summary-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:16px}.report-summary-grid article{padding:20px}.report-summary-grid strong{display:block;margin:.35rem 0;font-size:1.85rem;color:#123e4f}.report-summary-grid small{display:block;color:#67818c}.report-two-column{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;align-items:start}.report-card{padding:22px}.report-card.table-wrap{padding:0}.report-card.table-wrap .section-heading{padding:22px 22px 0}.report-bar-list{display:grid;gap:16px}.report-bar-row>div:first-child{display:flex;justify-content:space-between;gap:12px;margin-bottom:7px}.report-bar-row span{color:#607985}.report-bar-track{height:10px;border-radius:999px;background:#e3eef2;overflow:hidden}.report-bar-track>span{display:block;height:100%;min-width:2px;border-radius:inherit;background:linear-gradient(90deg,#147f9e,#43b7c7)}.report-card table{margin-bottom:0}.report-card code{font-size:.78rem;overflow-wrap:anywhere}.notice-info{border-color:#b8dce8;background:#f1f9fc;color:#28596a}
@media(max-width:1180px){.report-summary-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:900px){.report-two-column{grid-template-columns:1fr}.report-filter-form{grid-template-columns:1fr 1fr}.report-filter-form .form-actions{grid-column:1/-1}}
@media(max-width:620px){.report-summary-grid,.report-filter-form{grid-template-columns:1fr}.report-filter-form .form-actions{grid-column:auto}.report-summary-grid strong{font-size:1.65rem}}

/* M13: progress bars tanpa inline style agar kompatibel dengan CSP ketat. */
.report-progress{display:block;width:100%;height:.65rem;border:0;border-radius:999px;overflow:hidden;background:#e8eef5}
.report-progress::-webkit-progress-bar{background:#e8eef5;border-radius:999px}
.report-progress::-webkit-progress-value{background:#0b74c7;border-radius:999px}
.report-progress::-moz-progress-bar{background:#0b74c7;border-radius:999px}
.system-error-page{margin:0;background:#f4f7fb;color:#12263a;font-family:system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
.system-error-card{max-width:720px;margin:10vh auto;padding:24px;background:#fff;border:1px solid #dce5ef;border-radius:18px;box-shadow:0 16px 45px rgba(18,38,58,.08)}
.system-error-card pre{white-space:pre-wrap;overflow-wrap:anywhere}

/* M14 aset visual bawaan */
.hero-visual-photo{overflow:hidden;border-radius:28px;box-shadow:0 28px 70px rgba(0,91,128,.22);min-height:450px;background:#d9eef5}
.hero-visual-photo>img{position:absolute;inset:0;width:100%;height:100%;object-fit:cover}
.hero-visual-photo:after{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(3,41,58,.03),rgba(3,41,58,.28));pointer-events:none}
.hero-visual-photo .hero-visual-card{z-index:2;right:18px;bottom:18px}
@media(max-width:760px){.hero-visual-photo{min-height:360px}.hero-visual-photo .hero-visual-card{right:14px;bottom:14px}}

/* v1.0.3 — Asisten ChatGPT sederhana dan stabil */
.ai-simple-assistant{border:1px solid #b7dce7;background:#f7fcfe;padding:24px}
.ai-simple-header{display:flex;gap:14px;align-items:flex-start;margin-bottom:18px}
.ai-simple-mark{flex:0 0 44px;width:44px;height:44px;display:grid;place-items:center;border-radius:13px;background:#087fa5;color:#fff;font-weight:900;letter-spacing:.04em}
.ai-simple-header h2{margin:.2rem 0 .4rem;font-size:1.25rem}.ai-simple-header p{margin:0;color:#587481;line-height:1.55}
.ai-simple-row{display:grid;gap:12px}.ai-simple-notes{display:grid;gap:7px;font-weight:750}.ai-simple-notes textarea{width:100%;padding:12px 14px;border:1px solid #b9d2dd;border-radius:10px;background:#fff;color:#102a43;font:inherit;resize:vertical}
.ai-simple-photo{border:1px solid #d3e6ec;border-radius:12px;background:#fff}.ai-simple-photo summary{cursor:pointer;padding:13px 15px;font-weight:800;color:#23566a}.ai-simple-photo summary small{font-weight:500;color:#718995}.ai-simple-photo-body{display:grid;grid-template-columns:minmax(220px,1fr) auto;gap:12px;align-items:center;padding:0 15px 15px}.ai-simple-photo-body input[type=file]{width:100%;padding:10px;border:1px solid #c5dce4;border-radius:10px;background:#f8fbfc}.ai-simple-photo-body small{grid-column:1/-1;color:#6b838e;line-height:1.45}
.ai-simple-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:16px}.ai-simple-actions-primary{padding-top:2px}.ai-simple-prompt{margin-top:16px;border-top:1px solid #d7e8ed;padding-top:14px}.ai-simple-prompt summary{cursor:pointer;font-weight:800;color:#17627c}.ai-simple-prompt .code-textarea{margin-top:12px}
.ai-simple-output{display:grid;gap:7px;margin-top:18px;font-weight:800}.ai-simple-output .code-textarea{min-height:220px;background:#fff;color:#173b49;border-color:#bad5de}
.ai-simple-message{margin:16px 0 0}.ai-simple-suggestions{margin-top:14px;padding:14px 16px;border:1px solid #d2e4e9;border-radius:12px;background:#fff}.ai-simple-suggestions ul{margin:.55rem 0 0;padding-left:1.2rem;display:grid;gap:6px}
.editorial-advice{border-left:4px solid #54aac0}.editorial-advice h2{margin-top:0}.editorial-advice p{margin-bottom:0}
@media(max-width:760px){.ai-simple-assistant{padding:18px}.ai-simple-header{display:grid}.ai-simple-actions{display:grid}.ai-simple-actions>*{width:100%}.ai-simple-photo-body{grid-template-columns:1fr}}

/* v1.0.4 — foto halaman langsung dari form */
.featured-photo-control{display:grid;gap:10px;padding:14px;border:1px solid #d7e7ec;border-radius:14px;background:#f8fcfd}
.featured-photo-label{font-weight:850;color:#173f4f}
.featured-photo-preview{position:relative;display:grid;place-items:center;width:100%;aspect-ratio:14/9;overflow:hidden;border:1px dashed #b7d1db;border-radius:12px;background:#eaf4f7;color:#64808c;font-size:.85rem;text-align:center}
.featured-photo-preview img{width:100%;height:100%;object-fit:cover;display:block}
.featured-photo-preview.is-empty{min-height:150px}
.featured-photo-upload-row{display:grid;gap:9px}
.featured-photo-upload-row input[type=file]{width:100%;padding:9px;border:1px solid #c7dce4;border-radius:9px;background:#fff}
.featured-photo-upload-row .button-secondary{width:100%;justify-content:center}
.featured-photo-message{margin:0;padding:10px 12px;font-size:.84rem}
.article-card-grid .service-card>img{display:block;width:100%;aspect-ratio:14/9;object-fit:cover;background:#dcebf0}
@media(max-width:760px){.featured-photo-preview.is-empty{min-height:130px}}
