/* Tema brand rekapos.com — halaman login toko. Hanya aktif dengan body.rekapos-brand. */
body.rekapos-login-body.rekapos-brand {
	--rb-ink: #13254d; --rb-ink2: #3b4a6b; --rb-muted: #6b7690; --rb-line: #e3e7ef; --rb-paper: #f6f7f9;
	--rb-navy: #263f7c; --rb-night: #0c1731; --rb-night2: #13234a; --rb-green: #3fb950; --rb-blue: #1a9fd9; --rb-red: #e0483e;
	font-family: "Plus Jakarta Sans", ui-sans-serif, system-ui, sans-serif !important;
	background: var(--rb-paper) !important;
	background-image:
		linear-gradient(to right, rgba(19,37,77,.05) 1px, transparent 1px),
		linear-gradient(to bottom, rgba(19,37,77,.05) 1px, transparent 1px) !important;
	background-size: 40px 40px !important;
	color: var(--rb-ink);
	min-height: 100vh;
	-webkit-font-smoothing: antialiased;
}
body.rekapos-brand::before, body.rekapos-brand::after { display: none !important; }
body.rekapos-brand .rekapos-login-stage { min-height: 100vh; display: flex; flex-direction: column; align-items: center; justify-content: center; padding: 32px 16px; background: none !important; }
body.rekapos-brand .rekapos-login-stage::before, body.rekapos-brand .rekapos-login-stage::after { display: none !important; }

.rb-login { width: 100%; max-width: 920px; display: grid; grid-template-columns: 1fr 1fr; background: #fff; border: 1px solid var(--rb-line); border-radius: 28px; overflow: hidden; box-shadow: 0 30px 70px -40px rgba(19,37,77,.45); animation: rbIn .55s cubic-bezier(.22,1,.36,1) both; }
@keyframes rbIn { from { opacity: 0; transform: translateY(16px); } to { opacity: 1; transform: none; } }

/* Panel brand kiri */
.rb-login-side { position: relative; background: var(--rb-paper); color: var(--rb-ink); border-right: 1px solid var(--rb-line); padding: 40px 36px; display: flex; flex-direction: column; overflow: hidden; }
.rb-login-side::before { content: ""; position: absolute; inset: 0; pointer-events: none; background-image: linear-gradient(to right, rgba(19,37,77,.06) 1px, transparent 1px), linear-gradient(to bottom, rgba(19,37,77,.06) 1px, transparent 1px); background-size: 32px 32px; -webkit-mask-image: radial-gradient(ellipse at top left, #000 30%, transparent 80%); mask-image: radial-gradient(ellipse at top left, #000 30%, transparent 80%); }
.rb-login-side > * { position: relative; }
.rb-login-mark { display: flex; align-items: center; gap: 10px; font-weight: 800; font-size: 18px; letter-spacing: -.01em; color: var(--rb-navy); text-decoration: none; }
.rb-login-mark img { height: 30px; width: auto; display: block; }
.rb-login-side h2 { margin: auto 0 12px; padding-top: 48px; font-size: 32px; line-height: 1.08; font-weight: 800; letter-spacing: -.02em; color: var(--rb-ink); }
.rb-login-side h2 span { background: linear-gradient(100deg, var(--rb-green), var(--rb-blue)); -webkit-background-clip: text; background-clip: text; color: transparent; }
.rb-login-side p { margin: 0 0 22px; font-size: 14px; line-height: 1.6; color: var(--rb-ink2); }
.rb-login-flow { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; margin: 0; padding: 0; list-style: none; }
.rb-login-flow li { font-size: 12px; font-weight: 700; padding: 6px 10px; border-radius: 99px; background: #fff; border: 1px solid var(--rb-line); color: var(--rb-ink); }
.rb-login-flow li.rb-arrow { background: none; border: 0; padding: 0; color: var(--rb-green); }

/* Kartu form kanan (markup lama) */
body.rekapos-brand .rekapos-login-root { width: 100%; }
body.rekapos-brand .rekapos-login-card { background: transparent !important; border: 0 !important; box-shadow: none !important; border-radius: 0 !important; max-width: none !important; width: 100% !important; margin: 0 !important; }
body.rekapos-brand .rekapos-login-card__accent { display: none !important; }
body.rekapos-brand .rekapos-login-card__inner { padding: 44px 40px 40px !important; }
body.rekapos-brand .rekapos-login-brand { text-align: left !important; margin-bottom: 26px !important; }
body.rekapos-brand .rekapos-login-brand img { width: 52px !important; height: 52px !important; object-fit: contain; border-radius: 14px; border: 1px solid var(--rb-line); padding: 4px; background: #fff; margin: 0 0 14px !important; display: block; }
body.rekapos-brand .rekapos-login-brand__title { font-family: inherit !important; font-size: 24px !important; font-weight: 800 !important; letter-spacing: -.01em; color: var(--rb-ink) !important; margin: 0 0 4px !important; text-transform: capitalize; }
body.rekapos-brand .rekapos-login-brand__sub { font-size: 13px !important; font-weight: 600 !important; letter-spacing: 0 !important; text-transform: none !important; color: var(--rb-muted) !important; margin: 0 !important; }
body.rekapos-brand .rekapos-login-form .form-group { margin-bottom: 16px !important; }
body.rekapos-brand .rekapos-login-form .control-label { font-family: inherit !important; font-size: 13px !important; font-weight: 700 !important; letter-spacing: 0 !important; text-transform: none !important; color: var(--rb-ink) !important; margin-bottom: 6px !important; }
body.rekapos-brand .rekapos-login-form .form-control { font-family: inherit !important; height: 50px !important; font-size: 15px !important; color: var(--rb-ink) !important; background: var(--rb-paper) !important; border: 1.5px solid var(--rb-line) !important; border-radius: 12px !important; padding: 0 14px !important; box-shadow: none !important; transition: border-color .2s, box-shadow .2s, background .2s; }
body.rekapos-brand .rekapos-login-form .form-control:focus { background: #fff !important; border-color: var(--rb-blue) !important; box-shadow: 0 0 0 4px rgba(26,159,217,.14) !important; }
body.rekapos-brand .rekapos-login-pass-wrap { border: 0 !important; box-shadow: none !important; background: none !important; position: relative; display: block !important; }
body.rekapos-brand .rekapos-login-pass-wrap .form-control { padding-right: 96px !important; }
body.rekapos-brand .rekapos-login-pass-wrap .rekapos-login-pass-toggle { position: absolute !important; right: 6px; top: 6px; bottom: 6px; height: auto !important; border: 0 !important; border-radius: 9px !important; background: #fff !important; color: var(--rb-navy) !important; font-family: inherit !important; font-size: 12px !important; font-weight: 700 !important; letter-spacing: 0 !important; text-transform: none !important; padding: 0 12px !important; box-shadow: 0 0 0 1px var(--rb-line) !important; }
body.rekapos-brand .rekapos-login-form .help-block-error { font-size: 12px !important; color: var(--rb-red) !important; font-weight: 600; margin-top: 6px !important; }
body.rekapos-brand .rekapos-login-form .has-error .form-control { border-color: var(--rb-red) !important; background: #fff !important; }
body.rekapos-brand .rekapos-login-submit { font-family: inherit !important; width: 100% !important; height: 52px !important; margin-top: 6px !important; border: 0 !important; border-radius: 999px !important; background: var(--rb-navy) !important; color: #fff !important; font-size: 15px !important; font-weight: 800 !important; letter-spacing: 0 !important; box-shadow: none !important; transition: background .2s; }
body.rekapos-brand .rekapos-login-submit:hover, body.rekapos-brand .rekapos-login-submit:focus-visible { background: var(--rb-ink) !important; }
body.rekapos-brand .rekapos-login-layout-foot { margin: 22px 0 0 !important; font-size: 12px !important; color: var(--rb-muted) !important; text-align: center; }
body.rekapos-brand .rb-login-powered { margin-top: 22px; font-size: 12px; color: var(--rb-muted); }
body.rekapos-brand .rb-login-powered a { color: var(--rb-navy); font-weight: 700; text-decoration: none; }

@media (max-width: 767px) {
	.rb-login { grid-template-columns: 1fr; border-radius: 22px; }
	.rb-login-side { padding: 22px 22px 20px; }
	.rb-login-side h2, .rb-login-side p, .rb-login-flow { display: none; }
	body.rekapos-brand .rekapos-login-card__inner { padding: 26px 22px 28px !important; }
}
@media (prefers-reduced-motion: reduce) { .rb-login { animation: none; } }

/* ---- Rapikan tata letak (30 Sep, sore) ---- */
/* Font situs untuk semua teks di kartu (tema lama memaksa Rubik pada h1/h2) */
body.rekapos-brand .rb-login, body.rekapos-brand .rb-login * { font-family: "Plus Jakarta Sans", ui-sans-serif, system-ui, sans-serif !important; }
.rb-login { max-width: 960px; min-height: 540px; }
/* Panel kiri: logo di atas, pesan di tengah, alur di bawah */
.rb-login-side { justify-content: space-between; gap: 28px; padding: 40px 40px 36px; }
.rb-login-side h2 { margin: 0 0 12px !important; padding: 0 !important; font-size: 34px !important; font-weight: 800 !important; letter-spacing: -.025em !important; line-height: 1.08 !important; }
.rb-login-side p { margin: 0 !important; max-width: 340px; }
.rb-login-copy { display: flex; flex-direction: column; }
/* Kolom kanan: isi di tengah vertikal, form memenuhi kolom */
.rb-login-main { display: flex; align-items: center; }
body.rekapos-brand .rekapos-login-root, body.rekapos-brand .rekapos-login-card { max-width: none !important; width: 100% !important; }
body.rekapos-brand .rekapos-login-card__inner { padding: 40px 48px !important; max-width: 420px; margin: 0 auto !important; }
body.rekapos-brand .rekapos-login-form, body.rekapos-brand .rekapos-login-form .form-group { width: 100% !important; max-width: none !important; }
body.rekapos-brand .rekapos-login-brand { display: flex !important; align-items: center; gap: 14px; }
body.rekapos-brand .rekapos-login-brand img { margin: 0 !important; flex: none; }
body.rekapos-brand .rekapos-login-brand__title { font-size: 22px !important; line-height: 1.2 !important; }
@media (max-width: 767px) {
	.rb-login { min-height: 0; }
	.rb-login-side { padding: 22px 22px 18px; gap: 0; }
	body.rekapos-brand .rekapos-login-card__inner { padding: 26px 22px 28px !important; }
}

/* ---- Remake panel kiri & kanan (logo toko saja) ---- */
.rb-login-side h2 span { display: block; }
.rb-login-side { justify-content: flex-start; gap: 0; }
.rb-login-copy { margin-top: 44px; }
.rb-login-demo { margin-top: 26px; background: #fff; border: 1px solid var(--rb-line); border-radius: 18px; padding: 16px 18px 14px; box-shadow: 0 18px 40px -28px rgba(19,37,77,.35); max-width: 340px; }
.rb-demo-top { display: flex; justify-content: space-between; align-items: center; font-size: 12px; font-weight: 700; color: var(--rb-muted); }
.rb-demo-top b { color: #1f7a2e; background: #e6f6e8; border-radius: 99px; padding: 2px 8px; font-size: 11px; }
.rb-demo-num { font-size: 22px; font-weight: 800; letter-spacing: -.02em; color: var(--rb-ink); margin-top: 2px; }
.rb-demo-bars { display: flex; align-items: flex-end; gap: 7px; height: 56px; margin-top: 10px; }
.rb-demo-bars i { flex: 1; border-radius: 6px 6px 3px 3px; background: #dfe6f2; }
.rb-demo-bars i.on { background: linear-gradient(180deg, var(--rb-green), #2fa041); }
.rb-login-points { list-style: none; margin: auto 0 0; padding: 22px 0 0; display: grid; gap: 9px; }
.rb-login-points li { position: relative; padding-left: 28px; font-size: 13.5px; font-weight: 600; color: var(--rb-ink2); line-height: 1.45; }
.rb-login-points li::before { content: ""; position: absolute; left: 0; top: 1px; width: 18px; height: 18px; border-radius: 99px; background: var(--rb-green) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12l5 5L20 7'/%3E%3C/svg%3E") center/11px no-repeat; }
.rb-login-flow { display: none !important; }
/* Kanan: hanya logo toko, tanpa nama & "Portal layanan" */
body.rekapos-brand .rekapos-login-brand { display: block !important; margin-bottom: 30px !important; }
body.rekapos-brand .rekapos-login-brand img { width: auto !important; height: auto !important; max-width: 180px !important; max-height: 88px !important; border: 0 !important; padding: 0 !important; border-radius: 0 !important; background: none !important; }
body.rekapos-brand .rekapos-login-brand__title, body.rekapos-brand .rekapos-login-brand__sub { display: none !important; }
body.rekapos-brand .rb-login-powered { margin: 26px 0 0 !important; text-align: center; }
body.rekapos-brand .rb-login-powered a { display: inline-flex; align-items: center; gap: 7px; font-size: 12px; font-weight: 500; color: var(--rb-muted) !important; text-decoration: none; }
body.rekapos-brand .rb-login-powered img { width: 16px; height: 16px; display: block; }
body.rekapos-brand .rb-login-powered b { color: var(--rb-navy); font-weight: 700; }
@media (max-width: 767px) {
	.rb-login-copy, .rb-login-demo, .rb-login-points { display: none; }
	body.rekapos-brand .rekapos-login-brand img { max-height: 64px !important; }
}

/* ---- Animasi alur sistem (pengganti kartu penjualan) ---- */
.rb-login-demo { padding: 14px 14px 10px; max-width: 360px; }
.rb-flow-svg { display: block; width: 100%; height: auto; overflow: visible; }
.rbf-base use { fill: none; stroke: #dfe6f2; stroke-width: 2; }
.rbf-flow use { fill: none; stroke: var(--rb-blue); stroke-width: 2; stroke-dasharray: 3 7; opacity: .7; animation: rbfDash 1.4s linear infinite; }
.rbf-flow use:nth-child(n+4) { stroke: var(--rb-green); }
@keyframes rbfDash { to { stroke-dashoffset: -20; } }
.rbf-node rect { fill: #fff; stroke: #d5dbe7; stroke-width: 1.5; }
.rbf-node text { font-size: 12px; font-weight: 700; fill: var(--rb-ink); text-anchor: middle; dominant-baseline: middle; font-family: "Plus Jakarta Sans", sans-serif; }
.rbf-main rect { fill: var(--rb-navy); stroke: var(--rb-navy); }
.rbf-main text { fill: #fff; }
.rbf-end rect { fill: #e6f6e8; stroke: var(--rb-green); }
.rbf-end text { fill: #1f7a2e; }
.rbf-dots circle { fill: var(--rb-blue); stroke: #fff; stroke-width: 2; }
.rbf-dots circle.g { fill: var(--rb-green); }
.rb-flow-cap { margin: 6px 0 0 !important; text-align: center; font-size: 12px !important; font-weight: 700; color: var(--rb-muted) !important; }
@media (prefers-reduced-motion: reduce) {
	.rbf-flow use { animation: none; }
	.rbf-dots { display: none; }
}

/* ---- Panel kiri gelap (selaras panel register), tanpa daftar centang ---- */
.rb-login-side { background: var(--rb-night) !important; color: #fff; border-right: 0; justify-content: flex-start; }
.rb-login-side::before { -webkit-mask-image: none !important; mask-image: none !important;
	background-image: linear-gradient(to right, rgba(255,255,255,.045) 1px, transparent 1px), linear-gradient(to bottom, rgba(255,255,255,.045) 1px, transparent 1px) !important; }
.rb-login-side h2 { color: #fff !important; }
.rb-login-side p { color: #b8c6e6 !important; }
.rb-login-demo { margin-top: auto; margin-bottom: 4px; background: rgba(255,255,255,.04); border: 1px solid rgba(255,255,255,.1); box-shadow: none; }
.rbf-base use { stroke: #2c4378; }
.rbf-node rect { fill: var(--rb-night2); stroke: #2c4378; }
.rbf-node text { fill: #fff; }
.rbf-main rect { fill: var(--rb-navy); stroke: #7fd3f5; }
.rbf-end rect { fill: rgba(63,185,80,.16); stroke: var(--rb-green); }
.rbf-end text { fill: #7ee08a; }
.rbf-flow use { stroke: #7fd3f5; }
.rbf-dots circle { stroke: var(--rb-night); }
.rb-flow-cap { color: #8ea3cc !important; }

.rb-login-copy { margin-bottom: 28px; }

/* ==== Remake login HP & tablet kecil (≤767px) — rekapos-e6 ====
   Gaya aplikasi: navy penuh di atas (logo rekapos + headline), lembar putih naik dari bawah,
   logo TOKO di ubin putih yang menumpang di batas keduanya. Desktop/tablet ≥768px tidak berubah. */
@media (max-width: 767px) {
	body.rekapos-brand.rekapos-login-body { padding: 0 !important; background: #0b1a3a !important; }
	body.rekapos-brand .rekapos-login-stage { padding: 0 !important; margin: 0 !important; min-height: 100vh; min-height: 100dvh; display: flex !important; align-items: stretch !important; justify-content: stretch !important; }
	body.rekapos-brand .rb-login { display: flex !important; flex-direction: column; width: 100% !important; max-width: none !important; min-height: 100vh; min-height: 100dvh;
		margin: 0 !important; border: 0 !important; border-radius: 0 !important; box-shadow: none !important; background: #fff !important; }
	/* Atas: navy */
	body.rekapos-brand .rb-login-side { flex: 1 0 auto; min-height: 200px; position: relative; z-index: 0 !important; display: flex !important; flex-direction: column; justify-content: space-between !important;
		padding: 22px 24px 64px !important; gap: 0 !important; }
	body.rekapos-brand .rb-login-mark img { height: 26px; width: auto; }
	body.rekapos-brand .rb-login-copy { display: flex !important; margin-top: 22px !important; }
	body.rekapos-brand .rb-login-side h2 { display: block !important; font-size: 27px !important; line-height: 1.12 !important; margin: 0 !important; }
	body.rekapos-brand .rb-login-side p, body.rekapos-brand .rb-login-demo, body.rekapos-brand .rb-login-points { display: none !important; }
	/* Bawah: lembar putih */
	body.rekapos-brand .rb-login-main { flex: none; position: relative; z-index: 2 !important; margin-top: -30px; border-radius: 28px 28px 0 0 !important; background: #fff !important; display: block !important;
		box-shadow: 0 -10px 30px -18px rgba(0,0,0,.45); padding-bottom: env(safe-area-inset-bottom, 0); }
	body.rekapos-brand .rekapos-login-root, body.rekapos-brand .rekapos-login-card { background: transparent !important; border: 0 !important; box-shadow: none !important; margin: 0 !important; }
	body.rekapos-brand .rekapos-login-card__accent { display: none !important; }
	body.rekapos-brand .rb-login, body.rekapos-brand .rb-login-main, body.rekapos-brand .rekapos-login-root, body.rekapos-brand .rekapos-login-card,
	body.rekapos-brand .rekapos-login-card__inner { overflow: visible !important; }
	body.rekapos-brand .rekapos-login-card__inner { max-width: 440px !important; margin: 0 auto !important; padding: 0 24px 26px !important; }
	/* Logo toko di ubin putih, menumpang batas navy–putih */
	body.rekapos-brand .rekapos-login-brand { display: flex !important; justify-content: center; align-items: center; width: max-content; max-width: 70%;
		margin: -40px auto 26px !important; padding: 12px 18px; background: #fff; border-radius: 20px; box-shadow: 0 14px 30px -18px rgba(19,37,77,.55), 0 0 0 1px #e3e7ef; }
	body.rekapos-brand .rekapos-login-brand img { max-height: 56px !important; max-width: 100% !important; }
	/* Form */
	body.rekapos-brand .rekapos-login-form .form-control { font-size: 16px !important; height: 50px !important; }
	body.rekapos-brand .rekapos-login-submit { height: 52px !important; font-size: 16px !important; }
	body.rekapos-brand .rb-login-powered { margin-top: 20px !important; }
	body.rekapos-brand .rekapos-login-layout-foot { margin: 0 !important; padding: 0 0 18px; background: #fff; }
}
/* HP kecil: headline lebih ringkas agar tombol Masuk tetap terlihat tanpa gulir */
@media (max-width: 767px) and (max-height: 700px) {
	body.rekapos-brand .rb-login-side { padding: 16px 22px 58px !important; }
	body.rekapos-brand .rb-login-copy { margin-top: 16px !important; }
	body.rekapos-brand .rb-login-side h2 { font-size: 22px !important; }
	body.rekapos-brand .rekapos-login-brand { margin-bottom: 18px !important; }
	body.rekapos-brand .rekapos-login-brand img { max-height: 44px !important; }
}
/* Semua ukuran: hilangkan kotak kuning autofill Chrome */
body.rekapos-brand .rekapos-login-form input:-webkit-autofill,
body.rekapos-brand .rekapos-login-form input:-webkit-autofill:hover,
body.rekapos-brand .rekapos-login-form input:-webkit-autofill:focus {
	-webkit-box-shadow: 0 0 0 40px #f4f6fa inset !important; box-shadow: 0 0 0 40px #f4f6fa inset !important;
	-webkit-text-fill-color: #13254d !important; caret-color: #13254d; transition: background-color 9999s ease-out 0s; }

/* ==== Tablet (768–1023px): bentuk berbeda — navy penuh, headline di tengah, kartu putih melayang ==== */
@media (min-width: 768px) and (max-width: 1023.98px) {
	body.rekapos-brand.rekapos-login-body { padding: 0 !important; background: #0b1a3a !important;
		background-image: linear-gradient(to right, rgba(255,255,255,.045) 1px, transparent 1px), linear-gradient(to bottom, rgba(255,255,255,.045) 1px, transparent 1px) !important; background-size: 44px 44px !important; }
	body.rekapos-brand .rekapos-login-stage { padding: 48px 28px !important; margin: 0 !important; min-height: 100vh; min-height: 100dvh; display: flex !important; align-items: center !important; justify-content: center !important; }
	body.rekapos-brand .rb-login { display: flex !important; flex-direction: column; align-items: center; width: 100% !important; max-width: 520px !important; min-height: 0 !important;
		margin: 0 auto !important; border: 0 !important; border-radius: 0 !important; box-shadow: none !important; background: transparent !important; overflow: visible !important; }
	body.rekapos-brand .rb-login-side { background: transparent !important; padding: 0 0 30px !important; text-align: center; align-items: center; display: flex !important; flex-direction: column; gap: 0 !important; }
	body.rekapos-brand .rb-login-side::before, body.rekapos-brand .rb-login-side::after { display: none !important; }
	body.rekapos-brand .rb-login-copy { display: flex !important; margin-top: 28px !important; align-items: center; }
	body.rekapos-brand .rb-login-side h2 { display: block !important; font-size: 36px !important; margin: 0 0 12px !important; }
	body.rekapos-brand .rb-login-side p { display: block !important; max-width: 400px; color: rgba(255,255,255,.72) !important; }
	body.rekapos-brand .rb-login-demo, body.rekapos-brand .rb-login-points { display: none !important; }
	body.rekapos-brand .rb-login-main { width: 100%; margin-top: 46px; background: #fff !important; border-radius: 28px !important; box-shadow: 0 40px 80px -40px rgba(0,0,0,.6) !important; overflow: visible !important; display: block !important; }
	body.rekapos-brand .rekapos-login-root, body.rekapos-brand .rekapos-login-card { background: transparent !important; border: 0 !important; box-shadow: none !important; overflow: visible !important; }
	body.rekapos-brand .rekapos-login-card__accent { display: none !important; }
	body.rekapos-brand .rekapos-login-card__inner { max-width: none !important; padding: 0 40px 34px !important; }
	body.rekapos-brand .rekapos-login-brand { display: flex !important; justify-content: center; align-items: center; width: max-content; max-width: 70%;
		margin: -44px auto 28px !important; padding: 14px 22px; background: #fff; border-radius: 20px; box-shadow: 0 14px 30px -18px rgba(19,37,77,.55), 0 0 0 1px #e3e7ef; }
	body.rekapos-brand .rekapos-login-brand img { max-height: 60px !important; max-width: 100% !important; }
	body.rekapos-brand .rekapos-login-form .form-control { font-size: 16px !important; height: 52px !important; }
	body.rekapos-brand .rekapos-login-submit { height: 54px !important; font-size: 16px !important; }
	body.rekapos-brand .rekapos-login-layout-foot { color: rgba(255,255,255,.55) !important; margin-top: 22px !important; }
}

/* ==== Radius konsisten di semua ukuran: kartu/lembar 28 · ubin 20 · input 14 · tombol kecil 10 · tombol utama pil ==== */
body.rekapos-brand .rekapos-login-form .form-control { border-radius: 14px !important; }
body.rekapos-brand .rekapos-login-pass-toggle { border-radius: 10px !important; }
body.rekapos-brand .rekapos-login-submit { border-radius: 999px !important; }
@media (min-width: 1024px) { body.rekapos-brand .rb-login { border-radius: 28px !important; } }
/* Anak kartu ikut membulat — kalau tidak, latar putihnya yang bersudut menutupi sudut lembar/kartu
   (overflow dibuka agar ubin logo bisa menumpang di tepi atas). */
@media (max-width: 1023.98px) {
	body.rekapos-brand .rb-login-main > .rekapos-login-root,
	body.rekapos-brand .rb-login-main .rekapos-login-card,
	body.rekapos-brand .rb-login-main .rekapos-login-card__inner { border-radius: inherit !important; }
}
@media (max-width: 1023.98px) {
	/* Cegah margin collapse: margin negatif ubin logo harus menggeser ubin, bukan isi kartu */
	body.rekapos-brand .rb-login-main .rekapos-login-card__inner { display: flow-root !important; }
}

/* Login di panel cabang juga memuat brand-admin.css (latar abu, prioritas tinggi) — latar navy harus menang. */
@media (max-width: 767px) {
	html body.rekapos-login-body.rekapos-brand.rekapos-brand.rekapos-brand.rekapos-brand.rekapos-brand { background: #0b1a3a !important; }
}
@media (min-width: 768px) and (max-width: 1023.98px) {
	html body.rekapos-login-body.rekapos-brand.rekapos-brand.rekapos-brand.rekapos-brand.rekapos-brand { background: #0b1a3a !important;
		background-image: linear-gradient(to right, rgba(255,255,255,.045) 1px, transparent 1px), linear-gradient(to bottom, rgba(255,255,255,.045) 1px, transparent 1px) !important; background-size: 44px 44px !important; }
}
