/* MyCircle.iD app layer v3 (Pylogix, 2026-09-25). Loaded after the recoloured Bootstrap theme in app_wrapper, basic_wrapper and wrapper.
   Brand fonts, softer shapes, and the sign-in screens. Colours come from the theme files (lime on dark, Pylogix blue on light). */
body { font-family: 'Figtree', 'Segoe UI', Arial, sans-serif; -webkit-font-smoothing: antialiased; }
h1, h2, h3, .h1, .h2, .h3 { font-family: 'Bricolage Grotesque', 'Figtree', sans-serif; font-weight: 800; letter-spacing: -.02em; }
h4, h5, h6, .h4, .h5, .h6 { font-family: 'Figtree', '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; }
.card-header:first-child { border-radius: 20px 20px 0 0; }
.form-control, .custom-select, .input-group-text { border-radius: 12px; }
.input-group > .form-control:not(:last-child), .input-group > .custom-select: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; }
.navbar-logo, .footer-logo { max-height: 34px; width: auto; }
.app-sidebar-title img, .app-sidebar .navbar-logo { max-height: 32px; width: auto; }

/* dark theme touches */
[data-theme-style="dark"] body { background-color: #0e0e11; }
[data-theme-style="dark"] .card { border-color: rgba(255, 255, 255, .09); }
[data-theme-style="dark"] ::selection { background: #d6ff3f; color: #0e0e11; }
[data-theme-style="light"] ::selection { background: #4950ff; color: #fff; }

/* sign in, sign up, password screens */
.login-background, .register-background, body.bg-gray-50 { position: relative; overflow-x: hidden; }
body.bg-gray-50::before { content: ''; position: fixed; right: -220px; bottom: -260px; width: 620px; height: 620px; border-radius: 50%; border: 90px solid rgba(214, 255, 63, .07); pointer-events: none; z-index: 0; }
[data-theme-style="light"] body.bg-gray-50::before, body.bg-gray-50[data-theme-style="light"]::before { border-color: rgba(73, 80, 255, .07); }
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 #d6ff3f; }
body.bg-gray-50[data-theme-style="light"] .card { border-color: rgba(14, 14, 17, .12); box-shadow: 8px 8px 0 0 #4950ff; }
body.bg-gray-50 .card-body h1, body.bg-gray-50 .card-body .h4, body.bg-gray-50 .card-body .h5 { font-family: 'Bricolage Grotesque', 'Figtree', sans-serif; font-weight: 800; letter-spacing: -.02em; }
body.bg-gray-50 .btn-primary { border-radius: 999px; padding-top: .7rem; padding-bottom: .7rem; }
body.bg-gray-50 .navbar-logo { max-height: 40px; }
