/* =========================================================
   vSAFE-27R9 — Register Form + Verification Gate Final
   Scoped styles only. No broad .card/.btn/h1 overrides.
   ========================================================= */

:root{
  --sf27-dark:#071A33;
  --sf27-navy:#08245C;
  --sf27-blue:#126DFF;
  --sf27-cyan:#20C7FF;
  --sf27-sky:#EAF6FF;
  --sf27-light:#F5F8FC;
  --sf27-border:#D9E7F5;
  --sf27-text:#10213A;
  --sf27-muted:#60748F;
  --sf27-danger:#B42318;
}

/* ---------- Register page ---------- */
body.page-daftar-akun{background:#fff!important;color:var(--sf27-text);overflow-x:hidden}
body.page-daftar-akun>.topline,
body.page-daftar-akun>.premium-bg,
body.page-daftar-akun>.navbar,
body.page-daftar-akun>footer{display:none!important}
.sf-register-page{min-height:100vh;background:linear-gradient(180deg,#fff 0%,#F6FAFF 100%);padding:24px}
.sf-register-shell{width:min(1120px,100%);margin:0 auto}
.sf-register-top{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:4px 0 22px;border-bottom:1px solid var(--sf27-border)}
.sf-register-brand{display:inline-flex;align-items:center;text-decoration:none}
.sf-register-brand img{display:block;width:190px;height:auto;max-height:52px;object-fit:contain}
.sf-register-login{font-size:14px;color:var(--sf27-muted);font-weight:600}
.sf-register-login a{color:var(--sf27-blue);font-weight:800;text-decoration:none}
.sf-register-card{margin:28px auto 0;background:#fff;border:1px solid var(--sf27-border);border-radius:24px;box-shadow:0 22px 70px rgba(8,36,92,.09);padding:30px}
.sf-register-heading{max-width:760px;margin-bottom:26px}
.sf-register-heading>span{display:block;color:var(--sf27-blue);font-size:12px;font-weight:850;letter-spacing:.12em;margin-bottom:8px}
.sf-register-heading h1{margin:0 0 10px;color:var(--sf27-navy);font:800 34px/1.15 Inter,system-ui,sans-serif;letter-spacing:-.03em}
.sf-register-heading p{margin:0;color:#405875;font-size:16px;line-height:1.65}
.sf-register-heading small{display:block;margin-top:8px;color:#6B7F99;font-size:13px;line-height:1.55}
.sf-register-form{display:block}
.sf-register-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px 18px}
.sf-field{display:flex;flex-direction:column;gap:8px;min-width:0;color:#35465E;font-size:13px;font-weight:750}
.sf-field--full{grid-column:1/-1}
.sf-field>span,.sf-upload-field>span{display:block}
.sf-field b,.sf-upload-field b{color:#D92D20}
.sf-register-page .sf-field input,
.sf-register-page .sf-field select,
.sf-register-page .sf-field textarea,
.sf-full-verification-form .sf-field input,
.sf-full-verification-form .sf-field select,
.sf-full-verification-form .sf-field textarea,
.sf-full-verification-form .sf-upload-field input[type="file"]{
  width:100%;max-width:100%;min-width:0;min-height:46px;box-sizing:border-box;border:1px solid #C9D6E6;border-radius:9px;background:#fff;color:var(--sf27-text);padding:11px 14px;font:500 14px/1.4 Inter,system-ui,sans-serif;outline:none;transition:.18s ease
}
.sf-register-page .sf-field input:focus,
.sf-register-page .sf-field select:focus,
.sf-full-verification-form input:focus,
.sf-full-verification-form select:focus,
.sf-full-verification-form textarea:focus{border-color:#7BB5FF;box-shadow:0 0 0 4px rgba(18,109,255,.10)}
.sf-password-field{position:relative;display:flex;align-items:center}
.sf-password-field input{padding-right:52px!important}
.sf-password-field button{position:absolute;right:6px;width:40px;height:36px;border:0;border-radius:8px;background:#F1F6FC;color:#405875;cursor:pointer;display:flex;align-items:center;justify-content:center}
.sf-register-statement{margin:22px 0 14px;color:#506781;font-size:13px;line-height:1.6}
.sf-register-statement p{margin:4px 0}.sf-register-statement a{color:var(--sf27-blue);font-weight:750}
.sf-consent-box{background:var(--sf27-sky);border:1px solid #A9D4FF;border-radius:16px;padding:18px;margin-top:14px}
.sf-consent-box h2{margin:0 0 12px;color:var(--sf27-navy);font-size:16px}
.sf-consent-box label{display:flex;align-items:flex-start;gap:10px;margin-top:10px;color:#304A68;font-size:13px;line-height:1.5;cursor:pointer}
.sf-consent-box input{width:18px;height:18px;flex:0 0 18px;margin-top:1px;accent-color:var(--sf27-blue)}
.sf-register-actions{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:20px}
.sf-register-actions .btn{min-height:48px;border-radius:10px;display:inline-flex;align-items:center;justify-content:center;text-align:center;text-decoration:none;font-size:14px;font-weight:850}
.sf-register-actions .btn-primary{background:linear-gradient(135deg,var(--sf27-navy),var(--sf27-blue) 60%,var(--sf27-cyan));color:#fff;border:0;box-shadow:0 12px 26px rgba(18,109,255,.22)}
.sf-register-actions .btn-outline{background:#fff;border:1px solid var(--sf27-blue);color:var(--sf27-navy)}
.sf-register-actions button:disabled{opacity:.45;cursor:not-allowed;box-shadow:none}

/* ---------- Dashboard verification gate ---------- */
.sf-verification-gate-card{border-color:rgba(32,199,255,.22)!important;background:rgba(18,109,255,.09)!important}
.sf-gate-onboarding{display:grid;grid-template-columns:auto 1fr;gap:20px;padding:26px;background:linear-gradient(135deg,#0A2B63,#123E82);border-radius:24px;color:#fff;box-shadow:0 20px 55px rgba(7,26,51,.18)}
.sf-gate-onboarding__icon{width:62px;height:62px;border-radius:18px;background:rgba(255,255,255,.12);border:1px solid rgba(255,255,255,.16);display:flex;align-items:center;justify-content:center;font-size:28px}
.sf-gate-onboarding__body{min-width:0}.sf-gate-kicker{display:block;color:#8CC8FF;font-size:11px;font-weight:850;letter-spacing:.12em;margin-bottom:8px}
.sf-gate-onboarding h2{margin:0 0 8px;color:#fff!important;font-size:26px}.sf-gate-onboarding p{margin:0;color:#D8E8FF;line-height:1.6}
.sf-gate-status-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:18px;padding:12px 14px;border:1px solid rgba(255,255,255,.12);border-radius:14px;background:rgba(255,255,255,.07)}
.sf-gate-status{display:inline-flex;padding:7px 11px;border-radius:999px;font-size:12px;font-weight:800}.sf-gate-status--pending_review{background:#FFF4D6;color:#8A5B00}.sf-gate-status--rejected{background:#FEE4E2;color:#B42318}.sf-gate-status--belum_diajukan{background:#EAF2FF;color:#175CD3}
.sf-gate-rejection{margin-top:12px;padding:12px 14px;border-radius:12px;background:#FFF1F0;color:#8A1C15}
.sf-gate-progress{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-top:16px}.sf-gate-step{display:flex;align-items:center;gap:8px;padding:10px;border-radius:12px;background:rgba(255,255,255,.07);color:#C8D8EC;font-size:12px}.sf-gate-step i{width:24px;height:24px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:rgba(255,255,255,.12);font-style:normal;font-weight:850}.sf-gate-step.is-done{color:#fff;background:rgba(32,199,255,.15)}.sf-gate-step.is-done i{background:#20C7FF;color:#062044}
.sf-gate-cta{margin-top:18px;min-height:46px!important;background:linear-gradient(135deg,#126DFF,#20C7FF)!important;color:#fff!important;border:0!important}

/* ---------- Unified verification form ---------- */
.sf-verification-gate-hero{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:24px 26px;border-radius:24px;background:linear-gradient(135deg,#0B2D67,#154584);color:#fff;box-shadow:0 18px 50px rgba(8,36,92,.17)}
.sf-verification-gate-hero h2{margin:0 0 8px;color:#fff!important;font-size:25px}.sf-verification-gate-hero p{margin:0;color:#D9E8FF;line-height:1.6}.sf-verification-status{display:inline-flex;align-items:center;justify-content:center;min-height:38px;padding:8px 14px;border-radius:999px;font-size:12px;font-weight:850;white-space:nowrap}.sf-verification-status--success{background:#D1FAE5;color:#067647}.sf-verification-status--warning{background:#FFF4D6;color:#8A5B00}.sf-verification-status--danger{background:#FEE4E2;color:#B42318}.sf-verification-status--muted{background:#EAF2FF;color:#175CD3}
.sf-full-verification-form{display:flex;flex-direction:column;gap:18px;margin-top:18px}.sf-hidden-country{display:none!important}
.sf-verification-section,.sf-verification-history-section{background:#fff;border:1px solid var(--sf27-border);border-radius:20px;padding:22px;box-shadow:0 10px 30px rgba(15,35,65,.05)}
.sf-verification-section__head{display:flex;align-items:flex-start;gap:12px;margin-bottom:18px}.sf-verification-section__head>span{width:34px;height:34px;flex:0 0 34px;border-radius:11px;background:linear-gradient(135deg,#126DFF,#20C7FF);color:#fff;display:flex;align-items:center;justify-content:center;font-size:13px;font-weight:900}.sf-verification-section__head h3{margin:0;color:var(--sf27-navy);font-size:18px}.sf-verification-section__head p{margin:4px 0 0;color:var(--sf27-muted);font-size:13px}
.sf-verification-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.sf-upload-field{display:flex;flex-direction:column;gap:8px;color:#35465E;font-size:13px;font-weight:750;min-width:0}.sf-upload-field small,.sf-field small{font-size:11.5px;color:#6A7F98;line-height:1.45;font-weight:500}.sf-upload-preview{display:block;width:88px;height:88px;object-fit:cover;border-radius:14px;border:1px solid var(--sf27-border);background:#F8FAFC;padding:4px}.sf-upload-preview[hidden]{display:none!important}
.sf-full-verification-form textarea{min-height:105px;resize:vertical}.sf-legal-doc-card{border:1px solid #D6E5F6;border-radius:16px;background:#FBFDFF;padding:16px;margin-top:12px}.sf-legal-doc-card__head{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.sf-legal-doc-card__head h4{margin:0;color:var(--sf27-navy);font-size:16px}.sf-legal-doc-card__head span{padding:5px 9px;border-radius:999px;background:#EAF2FF;color:#175CD3;font-size:11px;font-weight:800}.sf-legal-doc-grid{display:grid;grid-template-columns:minmax(0,1.2fr) minmax(260px,.8fr);gap:16px}.sf-inline-check{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:8px}.sf-inline-check .btn{min-height:46px;white-space:nowrap;border-radius:9px}.sf-legal-safe-note{margin-top:14px;padding:13px 15px;border-radius:13px;background:#EAF6FF;border:1px solid #A9D4FF;color:#315478;font-size:12.5px;line-height:1.55}
.sf-verification-submit{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:20px 22px;border-radius:18px;background:#F1F7FF;border:1px solid #CDE2FB}.sf-verification-submit b{color:var(--sf27-navy)}.sf-verification-submit p{margin:4px 0 0;color:#617895;font-size:12.5px}.sf-verification-submit .btn{min-width:250px;min-height:48px;border-radius:12px;background:linear-gradient(135deg,#08245C,#126DFF 60%,#20C7FF);color:#fff;border:0;font-weight:850}
.sf-admin-verification-detail{margin-top:8px}.sf-admin-verification-detail summary{cursor:pointer;color:#126DFF;font-size:11.5px;font-weight:750}.sf-admin-verification-detail div{display:grid;gap:4px;margin-top:8px;padding:10px;border-radius:10px;background:#F7FAFE}.sf-admin-verification-detail small{display:block;white-space:normal;line-height:1.4}

@media(max-width:767px){
  .sf-register-page{padding:16px}.sf-register-top{align-items:flex-start;flex-direction:column;gap:12px}.sf-register-brand img{width:145px;max-height:42px}.sf-register-login{font-size:13px}.sf-register-card{margin-top:18px;padding:20px 16px;border-radius:18px}.sf-register-heading h1{font-size:28px}.sf-register-heading p{font-size:14px}.sf-register-grid{grid-template-columns:1fr;gap:14px}.sf-field--full{grid-column:auto}.sf-register-actions{grid-template-columns:1fr}.sf-register-actions .btn{width:100%}
  .sf-gate-onboarding{grid-template-columns:1fr;padding:20px;border-radius:20px}.sf-gate-onboarding__icon{width:52px;height:52px}.sf-gate-onboarding h2{font-size:22px}.sf-gate-status-row{align-items:flex-start;flex-direction:column}.sf-gate-progress{grid-template-columns:1fr 1fr}.sf-gate-cta{width:100%}
  .sf-verification-gate-hero{align-items:flex-start;flex-direction:column;padding:20px;border-radius:20px}.sf-verification-status{white-space:normal}.sf-verification-section,.sf-verification-history-section{padding:16px;border-radius:17px}.sf-verification-grid,.sf-legal-doc-grid{grid-template-columns:1fr}.sf-inline-check{grid-template-columns:1fr}.sf-inline-check .btn{width:100%}.sf-verification-submit{align-items:stretch;flex-direction:column}.sf-verification-submit .btn{min-width:0;width:100%}
}

.sf-field small.is-valid{color:#067647!important;font-weight:700!important}
.sf-field small.is-invalid{color:#B42318!important;font-weight:700!important}
