/* Rejestracja — reg.css (jasny motyw) */
.bf-reg-wrap { max-width: 500px; margin: 24px auto; padding: 0 16px 60px; font-family: 'Inter', -apple-system, sans-serif; }
.bf-reg-header { text-align: center; margin-bottom: 22px; }
.bf-reg-logo    { font-size: 2.5rem; display: block; margin-bottom: 8px; }
.bf-reg-title   { font-size: 1.4rem; font-weight: 900; color: #0f0f0f; margin: 0 0 5px; letter-spacing: -.03em; }
.bf-reg-subtitle{ font-size: .82rem; color: #888; margin: 0; }
.bf-reg-form { background: #fff; border: 1px solid #e6e6e8; border-radius: 18px; padding: 22px 18px; box-shadow: 0 2px 8px rgba(0,0,0,.06); }
.bf-reg-row-2col { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; }
@media (max-width: 480px) { .bf-reg-row-2col { grid-template-columns: 1fr; } }
.bf-password-wrap { position: relative; }
.bf-password-wrap .bf-input { padding-right: 44px; }
.bf-pw-toggle { position: absolute; right: 12px; top: 50%; transform: translateY(-50%); background: none; border: none; cursor: pointer; font-size: .9rem; opacity: .5; transition: opacity .15s; }
.bf-pw-toggle:hover { opacity: 1; }
.bf-pw-strength { height: 3px; border-radius: 99px; margin-top: 5px; background: #eee; overflow: hidden; }
.bf-pw-strength::after { content: ''; display: block; height: 100%; border-radius: 99px; transition: width .4s, background .4s; }
.bf-pw-strength[data-strength="1"]::after { width: 25%; background: #e43733; }
.bf-pw-strength[data-strength="2"]::after { width: 50%; background: #f97316; }
.bf-pw-strength[data-strength="3"]::after { width: 75%; background: #eab308; }
.bf-pw-strength[data-strength="4"]::after { width: 100%; background: #22c55e; }
.bf-radio-group { display: flex; flex-direction: column; gap: 8px; margin-top: 4px; }
.bf-radio-label { display: flex; align-items: center; gap: 9px; font-size: .84rem; cursor: pointer; color: #2d2d2d; }
.bf-radio-label input[type="radio"] { width: 16px; height: 16px; accent-color: #e43733; cursor: pointer; }
.bf-checkbox-label { display: flex; align-items: flex-start; gap: 10px; font-size: .82rem; cursor: pointer; line-height: 1.5; color: #444; }
.bf-checkbox-label input[type="checkbox"] { width: 16px; height: 16px; margin-top: 2px; accent-color: #e43733; flex-shrink: 0; }
.bf-checkbox-label a { color: #e43733; }
.bf-discipline-picker { display: grid; grid-template-columns: repeat(3,1fr); gap: 8px; margin-top: 6px; }
.bf-discipline-option { cursor: pointer; }
.bf-discipline-option input { display: none; }
.bf-discipline-card { display: flex; flex-direction: column; align-items: center; gap: 5px; padding: 11px 6px; border: 1.5px solid #e6e6e8; border-radius: 10px; font-size: .75rem; font-weight: 600; color: #888; background: #f7f7f8; transition: all .15s; text-align: center; }
.bf-discipline-icon { font-size: 1.4rem; }
.bf-discipline-option input:checked + .bf-discipline-card { border-color: #e43733; background: #fbeaea; color: #c02e2b; }
.bf-reg-login-link { text-align: center; margin-top: 14px; font-size: .82rem; color: #888; }
.bf-reg-login-link a { color: #e43733; font-weight: 600; }
.bf-already-logged { text-align: center; padding: 40px 24px; }
.bf-notice { padding: 12px 14px; background: #fbeaea; border-radius: 10px; color: #c02e2b; border: 1px solid rgba(228,55,51,.25); font-size: .84rem; }
