:root{--black:#0A0A0A; --lime:#D4FF32; --paper:#F5F3EF; --line:#E8E6E1;}
.fh-auth{max-width:440px; margin:30px auto; font-family:Inter,system-ui,sans-serif;}
.fh-auth__form{background:white; border:1px solid var(--line); border-radius:20px; padding:24px; display:flex; flex-direction:column; gap:14px;}
.fh-auth__form h3{margin:0; font-size:22px; font-weight:900; letter-spacing:-0.03em;}
.fh-auth__form label{display:flex; flex-direction:column; gap:6px; font-size:11px; font-weight:600; min-height:68px;}
/* Поля ввода: видимая серая обводка + лёгкий фон, чтобы не сливались с белым.
   !important — тема сайта не должна перебивать обводку. Чекбоксы не трогаем. */
.fh-auth .fh-auth__form input:not([type=checkbox]):not([type=radio]), .fh-auth .fh-auth__form select, .fh-auth .fh-auth__form textarea{padding:11px 13px; border:1.5px solid #D5D2CB !important; border-radius:12px; font-size:13px; background:#FCFBF8 !important; height:42px; transition:border-color .2s, box-shadow .2s;}
.fh-auth .fh-auth__form textarea{height:auto; min-height:90px;}
.fh-auth-box{background:#FFFEF9; border:1px solid var(--line); border-radius:16px; padding:18px; max-width:440px; margin:20px auto; text-align:center;}
.fh-btn{border:none; border-radius:100px; padding:11px 18px; font-weight:700; cursor:pointer; display:inline-flex; align-items:center; gap:6px; font-size:13px; text-decoration:none; transition:all .2s;}
.fh-btn--black{background:var(--black); color:white;}
.fh-btn--white{background:white; border:1px solid var(--line); color:black;}
.fh-btn--lime{background:var(--lime); color:black; border:1px solid var(--lime);}
.fh-form__msg{margin-top:10px; font-size:13px; min-height:18px;}
.fh-notice{padding:10px 12px; border-radius:10px; font-size:12px; font-weight:600; margin-top:8px;}
.fh-notice--error{background:#FFF0F0; border:1px solid #FFB3B3; color:#CC0000;}
.fh-notice--success{background:#F0FFF0; border:1px solid #B3FFB3; color:#0A8A00;}

/* Формы входа / регистрации / сброса: серая граница, при наведении — лайм, кнопка лайм */
.fh-auth__form{transition:border-color .2s;}
.fh-auth__form:hover{border-color:var(--lime);}
.fh-auth__form .fh-btn--black{background:var(--lime);color:#111;border:1px solid var(--lime);}
.fh-auth__form .fh-btn--black:hover{background:#C6EF1F;border-color:#C6EF1F;}
/* При клике в поле — лаймовая обводка + мягкое лаймовое свечение */
.fh-auth .fh-auth__form input:not([type=checkbox]):not([type=radio]):focus, .fh-auth .fh-auth__form select:focus, .fh-auth .fh-auth__form textarea:focus{border-color:var(--lime) !important; outline:none; box-shadow:0 0 0 3px rgba(212,255,50,.45) !important;}
/* Подсказка про пароль и кнопка генератора */
.fh-auth__form .fh-pass-hint{display:block; font-size:11px; font-weight:400; color:#8C8C8C; margin-top:2px;}
.fh-auth__form .fh-generate-pass{align-self:flex-start; padding:7px 14px; font-size:12px; margin-top:4px;}

/* Обязательные согласия в регистрации (v5.2.7): два чекбокса со ссылками.
   Стиль проекта: бумажный фон блока, белый бокс, лайм при отметке, чёрная галочка. */
.fh-auth__form .fh-auth__consents{display:flex; flex-direction:column; gap:10px; background:var(--paper); border:1px solid var(--line); border-radius:12px; padding:12px;}
.fh-auth__form label.fh-consent{display:flex; flex-direction:row; align-items:flex-start; gap:10px; min-height:0; font-size:12px; font-weight:500; line-height:1.5; color:#333; cursor:pointer; margin:0;}
.fh-consent input[type=checkbox]{position:absolute; opacity:0; width:1px; height:1px; pointer-events:none;}
.fh-consent__box{flex:0 0 22px; width:22px; height:22px; background:#fff; border:1.5px solid #D5D2CB; border-radius:6px; position:relative; transition:border-color .2s, background .2s, box-shadow .2s;}
.fh-consent:hover .fh-consent__box{border-color:var(--lime);}
.fh-consent input[type=checkbox]:focus-visible + .fh-consent__box{border-color:var(--lime); box-shadow:0 0 0 3px rgba(212,255,50,.45);}
.fh-consent input[type=checkbox]:checked + .fh-consent__box{background:var(--lime); border-color:var(--lime);}
.fh-consent input[type=checkbox]:checked + .fh-consent__box::after{content:''; position:absolute; left:6px; top:3px; width:6px; height:11px; border:solid #0A0A0A; border-width:0 2.5px 2.5px 0; transform:rotate(45deg);}
.fh-consent__text a{color:#0A0A0A; font-weight:700; text-decoration:underline; text-underline-offset:2px;}
.fh-consent__text a:hover{background:rgba(212,255,50,.6);}
@media (max-width:480px){
    .fh-auth__form .fh-auth__consents{padding:10px;}
    .fh-consent__box{flex-basis:24px; width:24px; height:24px;}
    .fh-auth__form label.fh-consent{font-size:12.5px;}
}
