/* Social Proof app layer v3 (Pylogix, 2026-09-26). Loaded after the recoloured Bootstrap theme in wrapper.php.
   Brand fonts and softer shapes for the dashboard, sign-in and account screens. Colours come from the theme files. */
body { font-family: 'Manrope', 'Segoe UI', Arial, sans-serif; -webkit-font-smoothing: antialiased; }
h1, h2, h3, .h1, .h2, .h3 { font-family: 'Fraunces', Georgia, serif; font-weight: 700; letter-spacing: -.015em; }
h4, h5, h6, .h4, .h5, .h6 { font-family: 'Manrope', 'Segoe UI', Arial, sans-serif; font-weight: 800; }
.btn { border-radius: 12px; font-weight: 700; }
.btn-primary, .btn-outline-primary { font-weight: 800; }
.card { border-radius: 20px; }
.form-control, .custom-select, .input-group-text { border-radius: 12px; }
.input-group > .form-control:not(:last-child) { border-top-right-radius: 0; border-bottom-right-radius: 0; }
.input-group > .input-group-append > .btn, .input-group > .input-group-append > .input-group-text { border-top-left-radius: 0; border-bottom-left-radius: 0; }
.input-group > .input-group-prepend > .btn, .input-group > .input-group-prepend > .input-group-text { border-top-right-radius: 0; border-bottom-right-radius: 0; }
.input-group > .input-group-prepend + .form-control { border-top-left-radius: 0; border-bottom-left-radius: 0; }
.dropdown-menu { border-radius: 14px; padding: 6px; }
.dropdown-item { border-radius: 9px; }
.badge { border-radius: 999px; }
[data-theme-style="dark"] body { background-color: #0f1512; }
[data-theme-style="dark"] .card { border-color: rgba(255, 255, 255, .09); }
[data-theme-style="dark"] ::selection { background: #22d38b; color: #0f1512; }
[data-theme-style="light"] ::selection { background: #0b8a57; 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 { content: ''; position: fixed; right: -120px; bottom: -140px; width: 460px; height: 380px; border-radius: 120px 120px 120px 30px; background: rgba(34, 211, 139, .08); transform: rotate(-8deg); pointer-events: none; z-index: 0; }
body.bg-gray-50 main { 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 #22d38b; }
body.bg-gray-50[data-theme-style="light"] .card { border-color: rgba(15, 21, 18, .12); box-shadow: 8px 8px 0 0 #0b8a57; }
body.bg-gray-50 .btn-primary { border-radius: 999px; padding-top: .7rem; padding-bottom: .7rem; }
body.bg-gray-50 .navbar-logo { max-height: 40px; }
