.login-page .corpu-registration-layout{padding-top:26px;padding-bottom:26px}
.login-page .corpu-registration-layout .login-stack{width:min(720px,100%);align-items:stretch}
.login-page .corpu-registration-panel{padding:24px 28px;max-height:calc(100dvh - 100px);overflow-y:auto}
.login-page .corpu-registration-panel .login-brand{margin-bottom:13px}
.login-page .corpu-registration-panel .login-heading{margin-bottom:14px}
.registration-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px 14px}
.registration-field{min-width:0;margin:7px 0}
.registration-field label{display:block;margin-bottom:5px;font-size:11px;font-weight:600;color:#263b5d}
.registration-field label b{color:#d44040}
.registration-field input,.registration-field select{width:100%;height:39px;border:1px solid #dce4ee;border-radius:6px;background:#fff;color:#263b5d;font-size:12px;padding:8px 11px;box-sizing:border-box}
.registration-field input:focus,.registration-field select:focus{outline:2px solid #8fb7e455;border-color:#8daed4}
.registration-section{margin:10px 0;border-top:1px solid #e2e8f1;padding-top:9px}
.registration-section[hidden]{display:none}
.registration-section h2{font-size:12px;font-weight:700;margin:2px 0 10px;color:#243b62}
.registration-help{font-size:11px;color:#64748b;line-height:1.6;margin:8px 0}
.registration-help a{color:#125ba8;font-weight:700}
.registration-notice{padding:9px 11px;border:1px solid #efc5c5;border-radius:6px;background:#fff1f1;color:#a52828;font-size:11px}
.registration-consent{display:flex;align-items:flex-start;gap:8px;margin-top:12px;color:#42546e;font-size:11px;line-height:1.55;cursor:pointer}
.registration-consent input{margin:2px 0 0;flex-shrink:0}
.registration-span{grid-column:1/-1}
.login-page .corpu-registration-panel .login-submit{margin-top:13px}
@media(max-width:700px){.registration-grid{grid-template-columns:1fr}.login-page .corpu-registration-panel{max-height:none;overflow:visible;padding:22px 18px}.login-page .corpu-registration-layout{align-items:start;padding:22px 14px}.login-page .corpu-registration-layout .login-stack{width:100%}}


/* Registration card remains rounded; only its content scrolls. */
.login-page .corpu-registration-panel{
 display:flex;flex-direction:column;max-height:calc(100dvh - 100px);
 overflow:hidden;
}
.login-page .corpu-registration-topline{
 display:flex;align-items:center;justify-content:space-between;gap:18px;
 flex:0 0 auto;padding-bottom:14px;margin-bottom:10px;
 border-bottom:1px solid #e2e8f1;
}
.login-page .corpu-registration-topline .login-brand{
 flex:0 1 auto;min-width:0;height:auto;margin:0;
}
.login-page .corpu-registration-topline .login-heading{
 flex:0 0 auto;min-width:0;text-align:right;margin:0;
}
.login-page .corpu-registration-topline .login-mode{
 margin:0 0 5px;letter-spacing:1.1px;
}
.login-page .corpu-registration-topline #register-title{
 margin:0;font-size:clamp(17px,2vw,23px);font-weight:800;
 line-height:1.25;letter-spacing:-.45px;white-space:normal;
}
.login-page .corpu-registration-scroll{
 min-height:0;min-width:0;flex:1 1 auto;overflow-y:auto;overflow-x:hidden;
 padding-right:10px;scrollbar-width:thin;scrollbar-color:#94a3b8 transparent;
 overscroll-behavior:contain;
}
.login-page .corpu-registration-description{
 font-size:11px;color:#74829a;line-height:1.6;margin:0 0 15px;
}
@media(max-width:700px){
 .login-page .corpu-registration-panel{
  max-height:calc(100svh - 85px);overflow:hidden;
 }
 .login-page .corpu-registration-topline{
  align-items:flex-start;flex-direction:column;gap:6px;
 }
 .login-page .corpu-registration-topline .login-heading{text-align:left}
 .login-page .corpu-registration-topline #register-title{font-size:21px}
 .login-page .corpu-registration-scroll{padding-right:7px}
}


/* Registration: two-column account header and shared identity sections. */
.login-page .registration-account-row {
    border-bottom: 1px solid #e2e8f1;
    padding-bottom: 14px;
    margin-bottom: 10px;
}
.login-page .registration-account-row + .registration-section {
    border-top: 0;
    margin-top: 0;
    padding-top: 4px;
}
.login-page .registration-section {
    clear: both;
    padding-top: 14px;
    margin-top: 12px;
}
.login-page .registration-section h2 {
    font-size: 13px;
    margin: 0 0 9px;
}
.login-page .registration-external {
    margin-top: 6px;
}
.login-page .registration-external[hidden] { display: none; }
.login-page .registration-region-notice { margin-top: 7px; }
.login-page .registration-field select:disabled,
.login-page .registration-field input:disabled { background: #f2f5f9; }

/* Compact username availability feedback below the half-width input. */
.registration-username-status{
    display:block;margin-top:5px;font-size:11px;line-height:1.4;color:#64748b
}
.registration-username-status[hidden]{display:none!important}
.registration-username-status[data-tone="success"]{color:#13734d}
.registration-username-status[data-tone="notice"]{color:#9a5c10}


/* Reuse Login's eye-button and input spacing, with a concise password rule hint. */
.login-page .registration-password-wrap {
    position: relative;
    display: flex;
    align-items: center;
}
.login-page .registration-password-wrap > input {
    padding-right: 46px;
}
.login-page .registration-password-wrap > button:focus-visible {
    outline: 2px solid #8daed4;
    outline-offset: 1px;
}
.login-page .registration-password-help {
    margin: 5px 0 0;
    color: #64748b;
    font-size: 11px;
    line-height: 1.5;
}

/* Non-reloading registration validation. Individual fields stay editable. */
.login-page #registration-feedback[hidden]{display:none!important}
.login-page .registration-field input[aria-invalid="true"],
.login-page .registration-field select[aria-invalid="true"]{
    border-color:#d14c4c;
    box-shadow:0 0 0 1px #d14c4c22;
}
.login-page .registration-field-error{
    display:block;
    margin-top:5px;
    color:#ba3030;
    font-size:11px;
    line-height:1.5;
}
.login-page #account-registration-form .registration-consent .registration-field-error{
    display:block;
    margin-top:3px;
    flex-basis:100%;
}
.login-page #account-registration-form .registration-consent{
    flex-wrap:wrap;
}
.login-page #account-registration-form button[type="submit"]:disabled{
    opacity:.7;
    cursor:progress;
}

/* Optional Kemendagri hierarchy and resend dialog. Account actions use shared components.css utilities. */
.login-page .registration-organization[hidden]{display:none}
.login-page .registration-organization{margin-top:10px}
.login-page #registration-feedback[data-tone="success"]{
    background:#f0f8f4;border-color:#b8dfcc;color:#165b3b;margin-bottom:14px
}
.login-page .registration-resend-dialog{
    width:min(430px,calc(100vw - 30px));border:1px solid #dce4ee;
    border-radius:12px;padding:20px 22px;color:#263b5d;background:#fff;
    box-shadow:0 20px 75px #05165038;
}
.login-page .registration-resend-dialog::backdrop{background:#06194596}
.login-page .registration-dialog-header{display:flex;justify-content:space-between;align-items:center;gap:10px}
.login-page .registration-dialog-header h2{margin:0;font-size:17px;font-weight:650}
.login-page .registration-dialog-header button{border:0;background:transparent;font-size:23px;color:#65758b;cursor:pointer}
.login-page .registration-resend-dialog input{width:100%;height:40px;border:1px solid #dce4ee;border-radius:6px;padding:10px}
.login-page .registration-dialog-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:18px}
.login-page .registration-dialog-actions button{padding:10px 15px;border-radius:6px;cursor:pointer}
.login-page .registration-dialog-actions .registration-secondary{background:#f2f5fa;color:#263b5d;border:1px solid #dce4ee}
.login-page .registration-resend-dialog [role="status"]{font-size:11px;line-height:1.5;margin:10px 0;color:#52647e}
