/* Pulse app layer v3 (Pylogix, 2026-09-26). Loaded after the theme in app_wrapper, basic_wrapper and wrapper.
   Colours come from the app's own theme compiler (custom-bootstrap, pink palette). This adds the brand fonts and the sign-in screens. */
body { font-family: 'DM Sans', 'Segoe UI', Arial, sans-serif; -webkit-font-smoothing: antialiased; }
h1, h2, h3, .h1, .h2, .h3 { font-family: 'Unbounded', 'DM Sans', sans-serif; font-weight: 600; letter-spacing: -.02em; }
.h4, .h5, h4, h5 { font-family: 'DM Sans', 'Segoe UI', Arial, sans-serif; font-weight: 700; }
.btn-primary, .btn-outline-primary { font-weight: 700; }
.navbar-logo { max-height: 34px; width: auto; }
[data-theme-style="dark"] ::selection { background: #ff2e88; color: #0b0b14; }
[data-theme-style="light"] ::selection { background: #e0126c; color: #fff; }

/* sign in, sign up and password screens (basic_wrapper) */
body.bg-gray-50 { position: relative; overflow-x: hidden; }
body.bg-gray-50::before, body.bg-gray-50::after { content: ''; position: fixed; border-radius: 50%; border: 2px solid rgba(255, 46, 136, .22); pointer-events: none; z-index: 0; }
body.bg-gray-50::before { width: 520px; height: 520px; right: -160px; bottom: -180px; }
body.bg-gray-50::after { width: 820px; height: 820px; right: -310px; bottom: -330px; border-color: rgba(255, 46, 136, .1); }
body.bg-gray-50 main, body.bg-gray-50 > .container { position: relative; z-index: 1; }
body.bg-gray-50 .card { border-radius: 28px; border: 1.5px solid rgba(255, 255, 255, .1); box-shadow: 8px 8px 0 0 #ff2e88; }
body.bg-gray-50[data-theme-style="light"] .card { border-color: rgba(11, 11, 20, .12); box-shadow: 8px 8px 0 0 #e0126c; }
body.bg-gray-50 .btn-primary { border-radius: 999px; padding-top: .7rem; padding-bottom: .7rem; }
body.bg-gray-50 .navbar-logo { max-height: 40px; }
