/* ==========================================================================
   boost.pl — panel klienta (body.bc) i strony logowania/rejestracji (body.bc-auth)
   Kolory podstawowe przychodzą z ustawień motywu (--theme-*); tu dopracowanie
   detali w tym samym stylu co strona główna i panel admina.
   ========================================================================== */

/* ── Panel klienta ── */
body.bc { --bg: #f6f7fb; --radius: 14px; --radius-sm: 10px; --shadow: 0 1px 2px rgba(16, 24, 40, .04), 0 1px 3px rgba(16, 24, 40, .06); }
body.bc .pn-navbar { background: rgba(255, 255, 255, .88); backdrop-filter: saturate(180%) blur(10px); -webkit-backdrop-filter: saturate(180%) blur(10px); box-shadow: none; }
body.bc .pn-brand { display: inline-flex; align-items: center; gap: 10px; }
body.bc .pn-brand img, body.bc .bc-logo { height: 44px !important; max-height: none !important; width: auto; }
body.bc .bc-mark { display: grid; place-items: center; width: 32px; height: 32px; border-radius: 9px; background: linear-gradient(135deg, #3b82f6, #6366f1); color: #fff; font-size: 15px; font-weight: 800; box-shadow: 0 4px 12px rgba(59, 130, 246, .3); }
body.bc .pn-brand-text { color: #0f172a !important; font-weight: 800; letter-spacing: -.02em; }

body.bc .pn-welcome {
    position: relative; overflow: hidden; padding: 28px 32px;
    background: radial-gradient(520px 220px at 100% 0%, rgba(245, 196, 0, .35), transparent 62%), linear-gradient(120deg, #263238 0%, #36454f 100%);
    box-shadow: 0 16px 40px rgba(31, 41, 46, .22);
}
body.bc .pn-welcome-text h2 { font-size: 22px; letter-spacing: -.02em; }
body.bc .pn-welcome-text p { color: rgba(255, 255, 255, .82); font-size: 14.5px; }

body.bc .pn-card, body.bc .card { border-radius: var(--radius) !important; border-color: #e5e7eb !important; box-shadow: var(--shadow) !important; }
body.bc .btn { border-radius: var(--radius-sm) !important; font-weight: 600 !important; }
body.bc .btn-primary { background: #f5c400 !important; border-color: #f5c400 !important; color: #1f2a30 !important; box-shadow: 0 4px 12px rgba(245, 196, 0, .3); }
body.bc .btn-primary:hover { background: #e3b400 !important; border-color: #e3b400 !important; color: #1f2a30 !important; }
body.bc .form-control, body.bc input.form-control, body.bc select.form-control, body.bc textarea.form-control { border-radius: var(--radius-sm) !important; }
body.bc .form-control:focus { border-color: #e3b400 !important; box-shadow: 0 0 0 4px rgba(245, 196, 0, .3) !important; }
body.bc a.link, body.bc .pn-card-header a { color: #8a6100 !important; }
body.bc .pn-nav-link.active { background: #fff8db !important; color: #1f2a30 !important; }

/* ── Logowanie, rejestracja, reset hasła ── */
body.bc-auth {
    min-height: 100vh; margin: 0; display: flex; flex-direction: column; align-items: center; justify-content: center; padding: 40px 16px;
    font-family: "Inter", ui-sans-serif, system-ui, -apple-system, "Segoe UI", Roboto, sans-serif !important; font-size: 14.5px !important; color: #0f172a !important;
    background: radial-gradient(900px 500px at 100% 0%, #fff1b8 0%, transparent 60%), radial-gradient(800px 500px at 0% 100%, #eceff1 0%, transparent 55%), #f8fafc !important;
    -webkit-font-smoothing: antialiased;
}
body.bc-auth .login-box, body.bc-auth .register-box, body.bc-auth > .card { width: 100%; max-width: 420px; }
body.bc-auth .login-logo, body.bc-auth .register-logo { margin-bottom: 28px !important; text-align: center; }
body.bc-auth .login-logo h1, body.bc-auth .register-logo h1 {
    display: inline-flex; align-items: center; gap: 12px; margin: 0 0 6px !important;
    font-size: 24px !important; font-weight: 800 !important; letter-spacing: -.02em; color: #0f172a !important;
}
body.bc-auth .login-logo img, body.bc-auth .register-logo img { display: block !important; height: 96px !important; max-height: none !important; width: auto; margin: 0 auto 10px !important; }
/* Rejestracja pokazuje tylko nazwę — podmieniamy ją na logo (tekst zostaje dla czytników ekranu). */
body.bc-auth .login-logo h1, body.bc-auth .register-logo h1 {
    display: block !important; width: 120px; height: 96px; margin: 0 auto 10px !important;
    background: url("/img/brand/boost-dark.png") center / contain no-repeat;
    font-size: 0 !important; color: transparent !important;
}
body.bc-auth .login-logo p, body.bc-auth .register-logo p { color: #64748b !important; font-size: 15px !important; }
body.bc-auth .card {
    background: #fff !important; border: 1px solid #e5e7eb !important; border-radius: 18px !important;
    box-shadow: 0 24px 60px rgba(15, 23, 42, .10), 0 2px 6px rgba(15, 23, 42, .04) !important;
}
body.bc-auth .card-body, body.bc-auth > .card { padding: 32px !important; }
body.bc-auth > .card h1 { font-size: 22px !important; font-weight: 700 !important; letter-spacing: -.02em; margin: 0 0 6px !important; color: #0f172a !important; }
body.bc-auth > .card .sub { color: #64748b !important; margin-bottom: 22px !important; }
body.bc-auth .form-group { margin-bottom: 18px !important; }
body.bc-auth .form-label, body.bc-auth label { font-size: 13.5px !important; font-weight: 500 !important; color: #334155 !important; margin-bottom: 6px !important; }
body.bc-auth .form-control, body.bc-auth input[type="email"], body.bc-auth input[type="password"], body.bc-auth input[type="text"], body.bc-auth input[type="tel"], body.bc-auth select {
    height: 46px; padding: 0 14px !important; font: inherit !important; font-size: 15px !important; color: #0f172a !important;
    background: #fff !important; border: 1px solid #d1d5db !important; border-radius: 10px !important; box-shadow: 0 1px 2px rgba(16, 24, 40, .04) !important;
}
body.bc-auth .form-control:focus, body.bc-auth input:focus, body.bc-auth select:focus { outline: 0 !important; border-color: #e3b400 !important; box-shadow: 0 0 0 4px rgba(245, 196, 0, .3) !important; }
body.bc-auth input[type="checkbox"] { accent-color: #36454f; width: 16px; height: 16px; }
body.bc-auth .btn, body.bc-auth button[type="submit"] {
    height: 46px; border-radius: 10px !important; font: inherit !important; font-size: 15px !important; font-weight: 600 !important;
}
body.bc-auth .btn-primary, body.bc-auth button[type="submit"].btn-primary, body.bc-auth > .card button[type="submit"] {
    background: #f5c400 !important; border-color: #f5c400 !important; color: #1f2a30 !important; box-shadow: 0 8px 20px rgba(245, 196, 0, .32) !important;
}
body.bc-auth .btn-primary:hover, body.bc-auth > .card button[type="submit"]:hover { background: #e3b400 !important; border-color: #e3b400 !important; }
body.bc-auth a { color: #8a6100 !important; font-weight: 600; }
body.bc-auth .register-link, body.bc-auth .login-link { margin-top: 22px !important; color: #64748b !important; font-size: 14.5px !important; }
body.bc-auth .alert { border-radius: 10px !important; }

/* Rejestracja — szerszy formularz w dwóch kolumnach (na telefonie jedna). */
body.bc-auth .register-box { max-width: 760px !important; }
body.bc-auth .register-box .card-body { padding: 36px 40px !important; }
@media (min-width: 700px) {
    body.bc-auth .register-box form { display: grid; grid-template-columns: 1fr 1fr; column-gap: 20px; }
    body.bc-auth .register-box form > * { grid-column: 1 / -1; }
    body.bc-auth .register-box form > .form-group:has(#password),
    body.bc-auth .register-box form > .form-group:has(#password_confirmation),
    body.bc-auth .register-box form > .form-group:has(#phone_number),
    body.bc-auth .register-box form > .form-group:has(#country) { grid-column: auto; }
}
body.bc-auth .register-box .form-row { display: grid; grid-template-columns: 1fr 1fr; gap: 20px !important; }
@media (max-width: 520px) { body.bc-auth .register-box .form-row { grid-template-columns: 1fr; gap: 0 !important; } }
body.bc-auth .register-box button[type="submit"] { width: 100%; margin-top: 8px !important; }
body.bc-auth .register-box select#phone_prefix { width: 120px !important; }
body.bc-auth select, body.bc-auth select.form-control { height: 46px !important; }
