/* V7 refinements: shared width, compact UI and vertical 9:16 media player */
:root{--v7-deep:#063d6c;--v7-turq:#01b6a5;--v7-lime:#d7df22}
body{font-family:'Plus Jakarta Sans',system-ui,sans-serif}
.v6-layout,.v7-admin-page{max-width:1240px;width:100%;margin:0 auto;padding:12px 18px 48px}
.v6-hero{padding:12px 0 10px}.v6-title{font-size:clamp(27px,3.5vw,40px);margin:5px 0 6px;line-height:1.1}.v6-muted{line-height:1.45;margin-bottom:8px}
.v6-card{padding:14px 16px;border-radius:17px}.v6-grid{gap:13px}.v6-card h3{font-size:17px}.v6-card h2{font-size:21px;margin-bottom:8px}
.v6-field{margin-bottom:9px;gap:4px}.v6-field input,.v6-field select,.v6-field textarea,.v6-control{min-height:39px;padding:8px 11px;font-size:13px;border-radius:10px}.v6-row{gap:11px}
.v6-judge-item{padding:10px 12px}.v6-actions{margin-top:9px}.v6-dialog-inner{width:min(1040px,100%);padding:16px 20px}.v6-dialog-head{padding-bottom:7px}
.v6-stage.v7-portrait{width:min(100%,250px);aspect-ratio:9/16;height:auto!important;min-height:0;max-height:62vh;border-radius:13px;background:linear-gradient(130deg,#082d45,#0e5d72);margin-inline:auto}
.v6-stage.v7-portrait iframe{width:100%;height:100%;position:absolute;inset:0;aspect-ratio:9/16;object-fit:contain;border:0}
.v6-stage.v7-portrait{position:relative}
.v6-card .v6-stage.v7-portrait{width:min(100%,230px);max-height:none;height:auto!important;margin:auto}
.v6-grid .v6-card{display:flex;flex-direction:column}.v6-grid .v6-card .v6-card-foot:last-child{margin-top:auto}
.v6-card .v6-card-foot{margin-top:9px}.v6-dialog #modalVideo{width:min(100%,214px);max-height:53vh;margin:5px auto 11px}
.v6-dialog-inner:has(#modalVideo){display:block}.v6-score{padding:8px 0}.v6-score small{display:block;margin-top:3px;line-height:1.4}
.v7-admin-page{max-width:1240px}.v7-section{width:100%;max-width:100%;margin:15px 0;scroll-margin-top:122px;min-width:0;overflow:hidden}.v7-admin-tabs{display:flex;gap:7px;overflow:auto;padding:6px 0}.v7-admin-tabs a{padding:8px 13px;white-space:nowrap;border:1px solid #b5deda;border-radius:30px;color:#075e6b;background:#ffffffc8;font-weight:800;font-size:12px}
.v7-form-two{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.v7-admin-form{max-width:540px}.v7-side-note{padding:15px;border-radius:15px;background:#eefbf7;font-size:13px;line-height:1.55}.v7-side-note p{margin:9px 0}.v7-check{display:flex;align-items:center;gap:9px;font-size:13px;font-weight:700}.v7-check input{width:17px;height:17px;accent-color:#01b6a5}.v7-form-inline{display:flex;align-items:end;gap:15px;flex-wrap:wrap}.v7-form-inline .v6-field{min-width:260px;flex:1}.v7-four-cols{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}
.v6-table th,.v6-table td{padding:9px}.v6-table small{display:block;color:#6b7a8e;margin-top:3px;font-size:11px}
.v7-identity-badge{display:flex;gap:10px;align-items:center;justify-content:space-between;background:linear-gradient(95deg,#d9f7ed,#edfef6);border:1px solid #9bdfca;border-radius:13px;padding:10px 12px;margin:8px 0;flex-wrap:wrap}.v7-identity-badge span{font-size:12px;color:#256b63}.v7-identity-badge b{font-size:13px}
.v7-toast{position:fixed;z-index:1300;bottom:20px;right:20px;background:#053f59;color:white;border:1px solid #9ad5d0;box-shadow:0 16px 45px #001d3c50;border-radius:14px;padding:14px 17px;font-weight:750;font-size:13px;max-width:min(420px,calc(100% - 36px))}.v7-toast.danger{background:#8b232e;border-color:#f9c9d0}.v7-toast[hidden]{display:none}
.v7-confirm-layer{position:fixed;inset:0;z-index:1400;display:grid;place-items:center;background:#031c32bb;backdrop-filter:blur(6px);padding:16px}.v7-confirm{width:min(450px,100%);padding:24px;border-radius:21px;border:1px solid white;background:linear-gradient(155deg,#fff,#eaf9f6);box-shadow:0 25px 60px #00162977}.v7-confirm h3{margin:0 0 8px}.v7-confirm p{line-height:1.55;font-size:14px}
.v7-gate{max-width:770px;margin:18px auto}.v7-gate input{text-transform:uppercase}
.nav a.access,.nav a[href="login.html"]{display:none!important}
.dashboard{max-width:1240px!important;width:100%;min-width:0}.dashboard .panel,.dashboard #panelContent{width:100%;max-width:100%;min-width:0}
.dashboard [data-panel="users"],#assignmentsBody{display:none!important}
/* More modern website title, keep the official Kemenkes color palette */
.poster-title .title-lomba,.poster-title .title-video,.poster-title .title-health{border-radius:20px!important;letter-spacing:-.025em;transform:rotate(-1deg);filter:drop-shadow(0 8px 0 #123e6e26)}
.poster-title .title-lomba{background:linear-gradient(135deg,#089fd0,#075897)!important}.poster-title .title-video,.poster-title .title-health{background:linear-gradient(135deg,#086aaf,#052f68)!important}
.hero-actions .btn{border-radius:15px!important;box-shadow:0 5px 0 #0a4c6b3c,0 13px 30px #07485c21}
@media(max-width:900px){.v7-four-cols{grid-template-columns:repeat(2,minmax(0,1fr))}.v7-form-two{grid-template-columns:1fr}.v6-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:680px){.v6-layout{padding:8px 13px 38px}.v6-hero{padding:7px 0 7px}.v6-title{font-size:26px}.v6-card{padding:12px}.v6-grid{grid-template-columns:1fr}.v6-dialog-inner{padding:13px}.v6-dialog{padding:5px}.v6-dialog #modalVideo{width:min(100%,180px)}.v6-stage.v7-portrait{max-width:205px}.v7-four-cols{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.v7-form-two{gap:8px}.v7-identity-badge{align-items:flex-start;flex-direction:column}.v7-section{scroll-margin-top:126px}.v7-admin-tabs a{font-size:11px}.v6-field label{font-size:12px}}

#submitGate[hidden],#submitContent[hidden],#adminScoreReview[hidden],#v7CkgFields[hidden]{display:none!important}

/* Explicit non-video placeholder for the 20 approved Puskesmas sample cards. No fabricated social URLs. */
.v7-demo-placeholder{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:15px;text-align:center;color:#fff;background:radial-gradient(circle at 80% 15%,#12b8a7aa,transparent 38%),radial-gradient(circle at 15% 85%,#d7df2270,transparent 36%),linear-gradient(155deg,#073c6b,#082a45 70%);overflow:hidden}
.v7-demo-placeholder:before{content:"";position:absolute;inset:9%;border:1px solid #ffffff38;border-radius:22px;pointer-events:none}
.v7-demo-flag{position:relative;z-index:1;display:inline-block;max-width:100%;padding:7px 10px;border-radius:999px;background:#d7df22;color:#143b4c;font-size:9px;font-weight:950;letter-spacing:.06em;line-height:1.3}
.v7-demo-play{position:relative;display:grid;place-items:center;width:58px;height:58px;border-radius:50%;background:#ffffff1c;border:1px solid #ffffff8c;box-shadow:0 9px 25px #001c3370;font-size:27px;padding-left:4px}
.v7-demo-placeholder strong{position:relative;font-size:clamp(14px,1.5vw,20px);line-height:1.15;letter-spacing:.06em}
.v7-demo-placeholder p{position:relative;margin:0;font-size:13px;font-weight:800;line-height:1.3}
.v7-demo-placeholder small{position:relative;max-width:230px;font-size:10px;line-height:1.45;color:#d8edf2}
.v7-no-link{opacity:.72;cursor:not-allowed;pointer-events:none}

/* Official HKN 62 palette and safe spacing around unmodified landscape logos. */
:root{--v7-turq:rgb(1,182,165);--v7-lime:rgb(215,223,34)}
.site-header .bar{gap:18px;padding-block:10px}.brand-image{width:250px;height:auto;min-height:60px;object-fit:contain;margin:8px 10px}.header-hkn-logo{padding:12px 18px;margin:4px 8px;min-width:60px}.header-hkn-logo img{width:180px;min-width:60px;height:auto;max-height:60px;object-fit:contain;filter:none;box-shadow:none;transform:none}
.v7-ai-attest{display:flex;align-items:flex-start;gap:10px;padding:13px;border:1px solid #01b6a555;border-radius:13px;background:#e9fbf4;line-height:1.5;margin:14px 0}.v7-ai-attest input{flex:0 0 auto;margin-top:4px;width:18px;height:18px;accent-color:rgb(1,182,165)}
