/* Nuréa — gaya tambahan untuk aplikasi (di luar desain) */
html, body { margin: 0; height: 100%; background: #EDEDE8; overscroll-behavior: none; }
body { -webkit-tap-highlight-color: transparent; -webkit-text-size-adjust: 100%; }
#root { position: relative; height: 100vh; height: 100dvh; width: 100%; overflow: hidden; }
#root.L-hp > .app { max-width: 560px; margin: 0 auto; }
body.dark-page { background: #111214; }
.nr-fatal { position: fixed; inset: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 14px; padding: 24px; text-align: center; font-family: system-ui, sans-serif; background: #EDEDE8; color: #17191A; z-index: 9999; }
.nr-fatal button { height: 46px; padding: 0 22px; border-radius: 999px; border: none; background: #17191A; color: #fff; font-size: 15px; font-weight: 600; }
/* lembar bawah tidak boleh lebih tinggi dari layar HP yang pendek */
.app .sheet-in { max-height: calc(100% - 24px) !important; overflow-y: auto; -webkit-overflow-scrolling: touch; }
/* latar di luar aplikasi ikut mode gelap */
html:has(.app.mode-dark), body:has(.app.mode-dark) { background: #111214; }
.app .scr { overscroll-behavior: contain; }
/* tahap 2: layar masuk dengan Google (sebelum aplikasi dibuka) */
.nr-gate { position: fixed; inset: 0; z-index: 9000; display: flex; align-items: center; justify-content: center; padding: 20px; box-sizing: border-box; overflow-y: auto;
  background: linear-gradient(180deg, #DCE6F1 0px, #EDEDE8 360px); color: #17191A; font-family: 'Geist', system-ui, -apple-system, "Segoe UI", Roboto, sans-serif; }
.nr-gate.dk { background: linear-gradient(180deg, #14202E 0px, #111519 320px, #0F1011 640px); color: #ECECE7; }
.nr-gate-card { width: 100%; max-width: 400px; box-sizing: border-box; margin: auto; background: rgba(255,255,255,.82); -webkit-backdrop-filter: blur(14px); backdrop-filter: blur(14px);
  border-radius: 30px; padding: 30px 24px 24px; display: flex; flex-direction: column; gap: 14px; box-shadow: 0 18px 50px rgba(30,58,92,.12); }
.nr-gate.dk .nr-gate-card { background: rgba(26,27,29,.9); box-shadow: none; }
.nr-gate-logo { width: 44px; height: 52px; background: url(icons/nurea-logo.png) center/contain no-repeat; }
.nr-gate.dk .nr-gate-logo { filter: invert(1); }
.nr-gate h1 { margin: 4px 0 0; font-size: 26px; line-height: 1.15; font-weight: 600; letter-spacing: -.035em; }
.nr-gate-sub { margin: 0; font-size: 14px; line-height: 1.55; color: #3E4245; }
.nr-gate.dk .nr-gate-sub { color: rgba(255,255,255,.72); }
.nr-gbtn, .nr-pbtn, .nr-sbtn { height: 52px; border-radius: 999px; font: inherit; font-size: 15px; font-weight: 600; display: flex; align-items: center; justify-content: center; gap: 10px; cursor: pointer; }
.nr-gbtn { background: #FFFFFF; color: #17191A; border: 1px solid #DAD9D2; margin-top: 6px; }
.nr-gbtn:disabled { opacity: .6; cursor: default; }
.nr-pbtn { background: linear-gradient(155deg, #1E3A5C, #3D6898 60%, #5E8BBE); color: #FFFFFF; border: none; margin-top: 6px; }
.nr-sbtn { background: transparent; color: inherit; border: 1px solid #C9C8C0; }
.nr-gate.dk .nr-gbtn { border-color: transparent; }
.nr-gate.dk .nr-sbtn { border-color: rgba(255,255,255,.22); }
.nr-gate-msg { margin: 0; min-height: 0; font-size: 13px; line-height: 1.5; font-weight: 600; color: #B3402F; }
.nr-gate-msg:empty { display: none; }
.nr-gate-note { margin: -4px 4px 4px; font-size: 12.5px; line-height: 1.5; color: #6B6E70; }
.nr-gate.dk .nr-gate-note, .nr-gate.dk .nr-gate-pts, .nr-gate.dk .nr-gate-legal { color: rgba(255,255,255,.58); }
.nr-gate-pts { margin: 2px 0 0; padding: 0 0 0 18px; font-size: 12.5px; line-height: 1.55; color: #6B6E70; display: flex; flex-direction: column; gap: 4px; }
.nr-gate-legal { margin: 4px 0 0; font-size: 11.5px; line-height: 1.5; color: #6B6E70; text-align: center; }
.nr-gate-legal a { color: inherit; text-decoration: underline; text-underline-offset: 3px; }
