/* AUTHFRESH_20261007 — общий свежий вид страниц входа (/login и /admin/login) в стиле CopyCRM 2.0:
   спокойный тёплый фон, карточка с тонкой рамкой, фирменная надпись, оранжевый акцент; светлая и тёмная тема
   (класс dark-theme на body — выбор кнопкой в углу, иначе тема CRM с прошлого входа, иначе системная).
   Это слой ПОВЕРХ старых стилей: поля, имена, скрипты форм не меняются. Выключить — убрать класс af у body. */
@font-face{font-family:'Unbounded';font-weight:700;font-display:swap;src:url('/static/fonts/brand/unbounded-700-cyrillic.woff2') format('woff2');unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:'Unbounded';font-weight:700;font-display:swap;src:url('/static/fonts/brand/unbounded-700-latin.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Onest';font-weight:400;font-display:swap;src:url('/static/fonts/brand/onest-400-cyrillic.woff2') format('woff2');unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:'Onest';font-weight:400;font-display:swap;src:url('/static/fonts/brand/onest-400-latin.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Onest';font-weight:600;font-display:swap;src:url('/static/fonts/brand/onest-600-cyrillic.woff2') format('woff2');unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:'Onest';font-weight:600;font-display:swap;src:url('/static/fonts/brand/onest-600-latin.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Onest';font-weight:700;font-display:swap;src:url('/static/fonts/brand/onest-700-cyrillic.woff2') format('woff2');unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:'Onest';font-weight:700;font-display:swap;src:url('/static/fonts/brand/onest-700-latin.woff2') format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+2000-206F,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}

/* ── цвета ── */
body.af{
  --af-bg:#fbf8f3;--af-card:#ffffff;--af-field:#ffffff;--af-soft:#f6f0e8;
  --af-ink:#231d17;--af-ink2:#5d5348;--af-ink3:#8f8477;--af-line:#ebe3d8;--af-line2:#dccfbf;
  --af-acc:#ff6a00;--af-acc-d:#e85d00;--af-acc-t:#c2530a;--af-acc2:#fff1e6;--af-acc3:#ffd6b8;
  --af-ok-bg:#e9f7ee;--af-ok:#1b6b3a;--af-ok-l:#bfe5cd;--af-err-bg:#fdeceb;--af-err:#a3271d;--af-err-l:#f3c7c2;
  --af-warn-bg:#fff6e0;--af-warn:#8a5a00;--af-warn-l:#f1dca8;
  --af-shadow:0 1px 2px rgba(35,29,23,.05),0 16px 40px -20px rgba(35,29,23,.24);
  --af-ring:0 0 0 3px rgba(255,106,0,.16);
  color-scheme:light;
}
body.af.dark-theme{
  --af-bg:#1b1917;--af-card:#262320;--af-field:#1e1b19;--af-soft:#2f2b27;
  --af-ink:#f3eee7;--af-ink2:#cfc6ba;--af-ink3:#9b9185;--af-line:#38332e;--af-line2:#4a443d;
  --af-acc-t:#ffb27a;--af-acc2:#3a2616;--af-acc3:#6d3d18;
  --af-ok-bg:#1e3326;--af-ok:#9be0b4;--af-ok-l:#2f5a40;--af-err-bg:#3a1f1d;--af-err:#ffb4ab;--af-err-l:#6b2f2a;
  --af-warn-bg:#3a2f18;--af-warn:#f3cf8a;--af-warn-l:#6a5424;
  --af-shadow:0 1px 2px rgba(0,0,0,.4),0 20px 46px -20px rgba(0,0,0,.75);
  --af-ring:0 0 0 3px rgba(255,138,51,.22);
  color-scheme:dark;
}

/* ── страница ── */
/* селектор нарочно «тяжёлый»: у brand.css / crm-themes.css свой фон body с !important, в т. ч. для тёмной темы */
html body.af.af-user,html body.af.af-admin,html body.af.af-user.dark-theme,html body.af.af-admin.dark-theme{background:var(--af-bg) !important;background-image:none !important;color:var(--af-ink) !important}
body.af{font-family:'Onest','Segoe UI',system-ui,-apple-system,Roboto,Arial,sans-serif !important;min-height:100vh}
body.af::before{content:"" !important;position:fixed;inset:0;z-index:0;pointer-events:none;opacity:1 !important;background-image:none !important;
  background:radial-gradient(62% 46% at 50% -10%,rgba(255,106,0,.13) 0%,transparent 62%),radial-gradient(40% 36% at 100% 100%,rgba(255,106,0,.06) 0%,transparent 60%) !important}
body.af::after{content:"" !important;position:fixed;inset:0;z-index:0;pointer-events:none;background:none !important;opacity:0}
/* в тёмной теме — фирменный узор, едва заметно */
body.af.dark-theme::after{background:url('/images/bglogo.svg') repeat !important;background-size:560px !important;opacity:.04}
body.af.dark-theme::before{background:radial-gradient(62% 46% at 50% -10%,rgba(255,138,51,.16) 0%,transparent 62%),radial-gradient(40% 36% at 100% 100%,rgba(255,106,0,.08) 0%,transparent 60%) !important}

/* ── переключатель темы ── */
body.af .af-theme{position:fixed;top:14px;right:14px;z-index:20;width:40px;height:40px;padding:0;border-radius:12px;border:1px solid var(--af-line);background:var(--af-card);color:var(--af-ink2);
  display:flex;align-items:center;justify-content:center;cursor:pointer;transition:border-color .15s,color .15s,background .15s}
body.af .af-theme:hover{border-color:var(--af-acc);color:var(--af-acc)}
body.af .af-theme:focus-visible{outline:none;box-shadow:var(--af-ring);border-color:var(--af-acc)}
body.af .af-theme svg{width:19px;height:19px;display:block}
body.af .af-theme .af-moon{display:none}
body.af.dark-theme .af-theme .af-sun{display:none}
body.af.dark-theme .af-theme .af-moon{display:block}

/* ── фирменная надпись и заголовок ── */
body.af .af-brand{font-family:'Unbounded','Onest',sans-serif;font-weight:700;font-size:1.7rem;letter-spacing:-.5px;line-height:1;text-align:center;margin:8px 0 10px}
body.af .af-brand .af-b1{color:var(--af-ink)}
body.af .af-brand .af-b2{color:var(--af-acc)}
body.af .af-title{font-family:'Onest',sans-serif !important;font-weight:600 !important;font-size:1rem !important;letter-spacing:0 !important;color:var(--af-ink3) !important;margin:0 0 18px !important;text-align:center}

/* ══ /login ══ */
body.af.af-user .animated-lines-container,body.af.af-user .animated-line,body.af.af-user .wavy-line{display:none !important}
body.af.af-user #legacyFooter{display:none !important}
body.af.af-user .page-content{position:relative;z-index:1;background:transparent !important;min-height:100vh;padding-top:clamp(18px,6vh,64px) !important;padding-bottom:36px !important}
body.af.af-user .page-content .container{padding-top:0 !important;padding-bottom:0 !important}
body.af.af-user .page-mascot img{filter:none !important;width:84px}
html body.af.af-user .fox-bubble{background:var(--af-card) !important;color:var(--af-ink2) !important;border:1px solid var(--af-line2) !important;box-shadow:var(--af-shadow) !important;font-weight:600}
html body.af.af-user .fox-bubble span{color:inherit !important}
html body.af.af-user .fox-bubble::before{border-right-color:var(--af-card) !important;filter:drop-shadow(-1px 0 0 var(--af-line2))}

body.af.af-user .login-form{max-width:420px;padding:28px 26px 24px !important;background:var(--af-card) !important;border:1px solid var(--af-line) !important;border-radius:20px !important;
  box-shadow:var(--af-shadow) !important;-webkit-backdrop-filter:none !important;backdrop-filter:none !important}
body.af.af-user .login-form .form-label{color:var(--af-ink2) !important;font-size:.82rem;font-weight:600;margin-bottom:6px}
body.af.af-user .login-form .form-control{height:46px;padding:0 14px !important;background:var(--af-field) !important;color:var(--af-ink) !important;border:1.5px solid var(--af-line2) !important;border-radius:12px !important;
  font-size:15px;box-shadow:none !important;transition:border-color .15s,box-shadow .15s}
body.af.af-user .login-form .pw-wrap .form-control{padding-right:46px !important}
body.af.af-user .login-form .form-control:hover{border-color:var(--af-acc3) !important}
body.af.af-user .login-form .form-control:focus{border-color:var(--af-acc) !important;box-shadow:var(--af-ring) !important;outline:none}
body.af .form-control:-webkit-autofill,body.af .form-control:-webkit-autofill:hover,body.af .form-control:-webkit-autofill:focus{
  -webkit-text-fill-color:var(--af-ink) !important;-webkit-box-shadow:0 0 0 40px var(--af-field) inset !important;caret-color:var(--af-ink) !important}
body.af.af-user .pw-eye{color:var(--af-ink3) !important;border-radius:0 12px 12px 0}
body.af.af-user .pw-eye:hover{color:var(--af-acc) !important}
body.af.af-user .login-form .form-check-input{background-color:var(--af-field);border:1.5px solid var(--af-line2);box-shadow:none}
body.af.af-user .login-form .form-check-input:checked{background-color:var(--af-acc) !important;border-color:var(--af-acc) !important}
body.af.af-user .login-form .form-check-input:focus{border-color:var(--af-acc);box-shadow:var(--af-ring)}
body.af.af-user .login-form .form-check-label{color:var(--af-ink2) !important}
body.af.af-user .login-form .form-check-label b{color:var(--af-ink)}
body.af.af-user .login-form a:not(.yandex-login-btn){color:var(--af-acc-t)}
body.af.af-user .login-form .btn-primary{height:48px;padding:0 16px !important;background:var(--af-acc) !important;border:none !important;border-radius:12px !important;color:#fff !important;
  font-weight:700;font-size:15.5px;box-shadow:none !important;filter:none !important;transform:none !important;transition:background .15s}
body.af.af-user .login-form .btn-primary:hover,body.af.af-user .login-form .btn-primary:focus{background:var(--af-acc-d) !important}
body.af.af-user .login-form .btn-primary:focus-visible{box-shadow:var(--af-ring) !important}
/* «или» и вход по отпечатку / QR (у блока свои строчные стили — перекрываем) */
body.af.af-user #pkBlock>div:first-child{color:var(--af-ink3) !important}
body.af.af-user #pkBlock>div:first-child>span{background:var(--af-line) !important}
body.af.af-user #pkBtn,body.af.af-user #qrBtn{min-height:46px;background:var(--af-acc2) !important;border:1.5px solid var(--af-acc3) !important;color:var(--af-acc-t) !important;border-radius:12px !important;box-shadow:none !important}
body.af.af-user #pkBtn:hover,body.af.af-user #qrBtn:hover{border-color:var(--af-acc) !important}
body.af.af-user #qrPanel{background:var(--af-soft) !important;border:1px solid var(--af-line) !important}
body.af.af-user #qrPanel>div,body.af.af-user #qrWho,body.af.af-user #qrState{color:var(--af-ink2) !important}
body.af.af-user #qrPanel>div:first-child{background:#fff !important;box-shadow:none !important}
body.af.af-user #qrCode,body.af.af-user #qrAgain,body.af.af-user #pkAskBtn{color:var(--af-acc-t) !important}
body.af.af-user .yandex-login-btn{min-height:46px;background:var(--af-card) !important;border:1.5px solid var(--af-line2) !important;color:var(--af-ink) !important;border-radius:12px !important;box-shadow:none !important;transform:none !important}
body.af.af-user .yandex-login-btn:hover{border-color:#fc3f1d !important;color:var(--af-ink) !important}
/* экран загрузки после входа */
body.af.af-user.dark-theme #loginLoader{background:radial-gradient(circle at 50% 38%,#2f2b27 0%,#1f1c1a 58%,#171513 100%)}
body.af.af-user.dark-theme .ll-pct{color:#ffb27a}

/* сообщения об ошибке / успехе — обе страницы */
body.af .alert{max-width:420px;margin:0 auto 14px !important;padding:11px 14px !important;border-radius:12px !important;border:1px solid var(--af-line) !important;background:var(--af-soft) !important;color:var(--af-ink2) !important;font-size:.9rem;line-height:1.4;display:block}
body.af .alert-danger,body.af .alert-error{background:var(--af-err-bg) !important;border-color:var(--af-err-l) !important;color:var(--af-err) !important}
body.af .alert-success{background:var(--af-ok-bg) !important;border-color:var(--af-ok-l) !important;color:var(--af-ok) !important}
body.af .alert-warning,body.af .alert-info{background:var(--af-warn-bg) !important;border-color:var(--af-warn-l) !important;color:var(--af-warn) !important}

/* ══ /admin/login ══ */
body.af.af-admin .login-container{position:relative;z-index:1;max-width:440px}
body.af.af-admin .login-card{padding:2.3rem 2.1rem 1.9rem !important;background:var(--af-card) !important;border:1px solid var(--af-line) !important;border-radius:22px !important;box-shadow:var(--af-shadow) !important;transition:none !important}
body.af.af-admin .login-card::before{display:none !important}
body.af.af-admin .login-card:hover{transform:none !important;box-shadow:var(--af-shadow) !important}
body.af.af-admin .brand-word{font-size:1.7rem;margin-bottom:1.3rem}
body.af.af-admin .brand-word .b-copy{color:var(--af-ink) !important}
body.af.af-admin .brand-word .b-crm{background:none !important;-webkit-text-fill-color:var(--af-acc) !important;color:var(--af-acc) !important}
body.af.af-admin .admin-icon{width:58px;height:58px;border-radius:17px;margin-bottom:1.1rem;background:var(--af-acc2) !important;border:1px solid var(--af-acc3);box-shadow:none !important}
body.af.af-admin .admin-icon i{font-size:1.65rem;color:var(--af-acc) !important}
body.af.af-admin .login-header{margin-bottom:1.5rem}
body.af.af-admin .login-header h1{font-size:1.18rem;color:var(--af-ink) !important}
body.af.af-admin .login-header p{color:var(--af-ink3) !important;font-size:.92rem}
body.af.af-admin .form-group{margin-bottom:.9rem}
body.af.af-admin .form-control{height:50px;padding:0 1rem 0 2.9rem !important;background:var(--af-field) !important;color:var(--af-ink) !important;border:1.5px solid var(--af-line2) !important;border-radius:12px !important;font-size:15px;box-shadow:none !important}
body.af.af-admin .form-group input[type="password"],body.af.af-admin .form-group input#password{padding-right:3rem !important}
body.af.af-admin .form-control::placeholder{color:var(--af-ink3) !important}
body.af.af-admin .form-control:focus{border-color:var(--af-acc) !important;background:var(--af-field) !important;color:var(--af-ink) !important;box-shadow:var(--af-ring) !important}
body.af.af-admin .input-icon,body.af.af-admin .password-toggle{color:var(--af-ink3) !important}
body.af.af-admin .form-group:focus-within .input-icon,body.af.af-admin .password-toggle:hover{color:var(--af-acc) !important}
body.af.af-admin .btn-login{height:50px;padding:0 1rem !important;background:var(--af-acc) !important;border-radius:12px !important;font-size:1rem;box-shadow:none !important;transform:none !important;transition:background .15s}
body.af.af-admin .btn-login::before{display:none !important}
body.af.af-admin .btn-login:hover,body.af.af-admin .btn-login:focus{background:var(--af-acc-d) !important;color:#fff}
body.af.af-admin .btn-login:focus-visible{box-shadow:var(--af-ring) !important}
body.af.af-admin .back-link{color:var(--af-ink3) !important;margin-top:1.1rem}
body.af.af-admin .back-link:hover{color:var(--af-acc) !important}

@media (max-width:576px){
  body.af .af-theme{top:10px;right:10px;width:38px;height:38px}
  body.af .af-brand{font-size:1.5rem}
  body.af.af-user .login-form{padding:22px 18px 20px !important;border-radius:18px !important}
  body.af.af-user .login-form .form-control,body.af.af-admin .form-control{font-size:16px}
  body.af.af-admin .login-card{padding:1.9rem 1.3rem 1.5rem !important}
}
@media (prefers-reduced-motion:reduce){ body.af *{transition:none !important} }
