/* Scoped welcome dialog; compatible with the site's existing CSP. */
html.dss-welcome-open,html.dss-welcome-open body{overflow:hidden!important;overscroll-behavior:none}
.dss-welcome{padding:0;border:1px solid #dae4dd;border-radius:20px;width:min(780px,calc(100vw - 28px));max-width:none;max-height:calc(100vh - 24px);max-height:calc(100dvh - 24px);margin:auto;color:#20352c;background:#fff;box-shadow:0 24px 80px #061e2555;overflow:auto;overscroll-behavior:contain;scrollbar-width:thin}
.dss-welcome:not([open]){display:none}
.dss-welcome::backdrop{background:rgba(14,30,27,.58)}
.welcome-hero{position:relative;padding:18px 28px 16px;background:radial-gradient(ellipse at 98% 100%,#cee3b0 0,transparent 52%),linear-gradient(120deg,#f5faef,#edf5e9);border-bottom:1px solid #e3ebdd}
.welcome-logos{display:flex;align-items:center;gap:16px;height:58px;margin-bottom:10px}
.welcome-logos img{object-fit:contain;height:52px;width:52px}
.welcome-logos img.welcome-brmp{width:204px;height:64px;max-width:55vw}
.welcome-logo-divider{height:42px;width:1px;background:#bcccbf}
.welcome-close{position:absolute;right:12px;top:10px;border:0;border-radius:50%;background:#ffffffb8;color:#254a39;width:34px;height:34px;font-size:27px;line-height:1;cursor:pointer}
.welcome-close:hover{background:#dfeee1}
.welcome-eyebrow{margin:0 0 3px;font-size:16px;color:#196343;font-weight:500}
.welcome-hero h1{font-size:30px;line-height:1.14;font-weight:800;letter-spacing:-.6px;margin:0;color:#064f38}
.welcome-hero h1 span{font-size:.93em}
.welcome-body{padding:16px 28px 20px;font-size:14px;line-height:1.4}
#welcomeDescription{margin:0 0 12px}
.welcome-guide{list-style:none;counter-reset:steps;padding:12px 15px;margin:0 0 10px;border-radius:12px;background:#eff6eb;display:grid;gap:10px}
.welcome-guide li{counter-increment:steps;display:flex;gap:12px;align-items:flex-start}
.welcome-guide li:before{content:counter(steps);display:grid;place-items:center;flex:0 0 27px;height:27px;border-radius:50%;background:#087b55;color:#fff;font-weight:700}
.welcome-guide strong{display:block;color:#104c3a;font-size:14px;margin-bottom:2px}
.welcome-guide p{margin:0;font-size:13px;line-height:1.35}
.welcome-tip{margin:0 0 12px;padding:8px 12px;border-radius:9px;background:#eaf2fe;color:#205398;font-size:12.5px;line-height:1.4;display:flex;gap:9px;align-items:center}
.welcome-tip>span{font-size:25px;line-height:1}
#welcomeForm h2{font-size:18px;font-weight:750;color:#076346;margin:0 0 8px}
.welcome-fields{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:9px 18px}
.welcome-fields label{font-size:13px;font-weight:700;margin-bottom:4px;display:block}
.welcome-fields select.form-select{margin:0!important;border-radius:8px;min-height:37px;font-size:13px;padding-top:7px;padding-bottom:7px;box-shadow:none}
.welcome-hint{font-size:12px;color:#65746c;margin:6px 0;font-style:italic}
.welcome-status{font-size:12px;color:#865812;margin:0 0 6px}
.welcome-status:empty{display:none}
.welcome-submit{display:block;width:100%;border:0;border-radius:9px;background:#087b55;color:white;font-weight:700;font-size:15px;min-height:42px;padding:9px 16px;cursor:pointer}
.welcome-submit span{margin-left:7px}
.welcome-submit:hover{background:#056645}
.welcome-submit:disabled{opacity:.55;cursor:wait}
.dss-welcome :focus-visible{outline:3px solid #e8b744;outline-offset:2px}
@media(max-height:780px){
 .welcome-hero{padding:12px 24px}.welcome-logos{height:45px;margin-bottom:5px}.welcome-logos img{height:42px;width:42px}.welcome-logos img.welcome-brmp{height:49px;width:172px}.welcome-logo-divider{height:32px}
 .welcome-hero h1{font-size:25px}.welcome-eyebrow{font-size:14px}.welcome-body{padding:12px 24px 14px}.welcome-guide{padding:9px 12px;gap:7px}#welcomeDescription{margin-bottom:9px}.welcome-tip{margin-bottom:9px}
}
@media(max-height:650px) and (min-width:601px){
 .welcome-hero{padding:10px 24px;display:grid;grid-template-columns:235px 1fr;column-gap:15px;align-items:center}.welcome-logos{grid-row:1 / 3;margin:0;height:58px}.welcome-logos img.welcome-brmp{width:155px}.welcome-eyebrow{margin:0}.welcome-hero h1{font-size:23px}
 .welcome-body{padding:10px 24px}.welcome-guide{grid-template-columns:1fr 1fr;gap:15px}.welcome-guide li{gap:8px}.welcome-guide p{font-size:12px}.welcome-guide strong{font-size:13px}.welcome-fields{gap:6px 16px}.welcome-tip{padding:6px 10px}.welcome-hint{margin:5px 0}
}
@media(max-width:600px){
 .dss-welcome{width:calc(100vw - 16px);max-height:calc(100dvh - 16px);border-radius:15px}.welcome-hero{padding:12px 17px}.welcome-body{padding:12px 17px 14px}.welcome-hero h1{font-size:25px}.welcome-logos{height:44px;margin-bottom:7px}.welcome-logos img{height:40px;width:40px}.welcome-logos img.welcome-brmp{width:170px;height:49px}.welcome-logos{gap:12px}.welcome-logo-divider{height:32px}
 .welcome-body{font-size:13px}.welcome-guide{padding:9px 10px;gap:8px}.welcome-guide li{gap:8px}.welcome-guide strong{font-size:13px}.welcome-guide p{font-size:12px}.welcome-tip{font-size:12px;padding:7px 9px}.welcome-fields{gap:8px 10px}.welcome-fields select.form-select{font-size:12px;padding-left:8px;padding-right:28px}.welcome-fields label{font-size:12px}.welcome-hint{font-size:11px}
}
@media(max-width:370px){.welcome-hero h1{font-size:22px}.welcome-body{padding-left:12px;padding-right:12px}.welcome-fields{gap:7px}.welcome-tip{font-size:11px}}
.welcome-hero{background-image:linear-gradient(90deg,rgba(245,250,239,.98) 0%,rgba(245,250,239,.90) 48%,rgba(245,250,239,.12) 100%),url('../img/welcome-sawah.png');background-size:cover;background-position:center}
@media(max-height:650px) and (min-width:601px){.welcome-hero{background-image:linear-gradient(90deg,rgba(245,250,239,.98),rgba(245,250,239,.85)),url('../img/welcome-sawah.png')}}
/* Emphasize the welcome greeting while retaining compact viewport layouts. */
.welcome-eyebrow{font-size:24px;font-weight:700;line-height:1.2;margin-bottom:5px}
@media(max-height:780px){.welcome-eyebrow{font-size:21px}}
@media(max-width:600px){.welcome-eyebrow{font-size:21px}}
@media(max-height:650px) and (min-width:601px){.welcome-eyebrow{font-size:19px;margin-bottom:2px}}
