/*
 * Prop Ten — партнёрский ЛК pa.propten.net. Собственная ТЁМНАЯ тема под сайт propten.net.
 * Самодостаточна: не зависит от темы основного ЛК (PaAsset). Подключается через CabinetAsset.
 * Токены/палитра/шрифты сняты с propten.net (MONOCHROME DEPTH).
 */
@import url('https://fonts.googleapis.com/css2?family=Cormorant:wght@300;400;500;600&family=Golos+Text:wght@400;500;600&family=Amiri:wght@400;700&family=Noto+Sans+Arabic:wght@400..700&display=swap');

:root{
  --bg:#070A0B; --bg-2:#0A0E0F; --panel:#0C1113; --panel-2:#0E1315;
  --text:#F6F8F7; --text-2:rgba(246,248,247,.62); --muted:rgba(246,248,247,.40);
  --hairline:rgba(246,248,247,.12); --hairline-soft:rgba(246,248,247,.06);
  --gold:#C9A14C; --gold-light:#D8C48A; --cta:#F6F8F7; --cta-fill:linear-gradient(160deg,#FFFFFF,#F6F8F7 55%,#D7DAD9);
  --font-display:'Cormorant', Georgia, serif;
  --font-body:'Golos Text', system-ui, -apple-system, sans-serif;
  --radius:14px; --radius-sm:9px;
  --header-h:64px; --sidebar-w:264px;
  --tracking-label:.18em;
  --ease:cubic-bezier(.22,1,.36,1);
}

/* ───────── base ───────── */
*{ box-sizing:border-box; }
html,body{ margin:0; padding:0; min-height:100%; }
body{
  background:var(--bg);
  color:var(--text);
  font-family:var(--font-body);
  font-size:15px; line-height:1.6;
  -webkit-font-smoothing:antialiased;
}
[dir="rtl"] body{ font-family:'Noto Sans Arabic', var(--font-body); }

/* анимированный фон (canvas #pt-bg вставляет background.js первым в body) */
#pt-bg{ position:fixed; inset:0; width:100%; height:100%; z-index:0; display:block; pointer-events:none; }
/* видео-фон ЛК (замена canvas-шейдера #pt-bg; фолбэк до загрузки/при сбое — body::before градиент ниже) */
#pt-bg-video{ position:fixed; inset:0; width:100%; height:100%; object-fit:cover; z-index:0; display:block; pointer-events:none; }
/* Затемняющий оверлей поверх видео-фона ЛК: чёрный 50%. Между видео (z-index:0) и контентом (z-index:2). */
body::after{ content:""; position:fixed; inset:0; background:rgba(0,0,0,.5); z-index:1; pointer-events:none; }
body::before{ /* статичный фолбэк под канвасом */
  content:""; position:fixed; inset:0; z-index:-1; pointer-events:none;
  background:radial-gradient(70% 60% at 60% 45%, #12191b, var(--bg));
}

h1,h2,h3,h4,h5{ font-family:var(--font-display); font-weight:500; color:var(--text); margin:0 0 .4em; letter-spacing:.005em; }
h1{ font-size:2.4rem; } h2{ font-size:1.9rem; } h3{ font-size:1.5rem; } h4{ font-size:1.2rem; }
p{ margin:0 0 1rem; }
a{ color:var(--text); text-decoration:none; transition:color .2s var(--ease); }
a:hover{ color:var(--gold); }
hr{ border:0; border-top:1px solid var(--hairline); margin:1.4rem 0; }
.text-muted{ color:var(--muted) !important; }
code{ color:var(--gold); background:rgba(246,248,247,.06); padding:1px 6px; border-radius:5px; font-size:.92em; }
small{ font-size:.86em; }

/* ───────── layout: header / sidebar / main ───────── */
.lk-header{
  position:fixed; inset:0 0 auto 0; height:var(--header-h); z-index:120;
  display:flex; align-items:center; justify-content:space-between;
  padding:0 24px;
  background:rgba(7,10,11,.55);
  -webkit-backdrop-filter:blur(14px) saturate(1.15); backdrop-filter:blur(14px) saturate(1.15);
  border-bottom:1px solid var(--hairline);
}
.lk-header__left{ display:flex; align-items:center; gap:16px; }
.lk-burger{ display:none; background:none; border:0; color:var(--text); font-size:20px; cursor:pointer; padding:6px; }
.lk-logo img{ height:34px; width:auto; display:block; }
.lk-header__right{ display:flex; align-items:center; gap:18px; }
.lk-header__right a{ color:var(--text-2); }
.lk-header__right a:hover{ color:var(--text); }

/* язык — простой кастомный дропдаун (без Bootstrap JS) */
.lk-lang{ position:relative; }
.lk-lang__btn{ background:none; border:0; color:var(--text-2); cursor:pointer; font:inherit; display:flex; align-items:center; gap:6px; padding:6px; }
.lk-lang__btn:hover{ color:var(--text); }
.lk-lang__menu{ position:absolute; right:0; top:calc(100% + 8px); min-width:140px; z-index:130;
  background:var(--bg-2); border:1px solid var(--hairline); border-radius:var(--radius-sm);
  padding:6px; display:none; box-shadow:0 12px 32px rgba(0,0,0,.45); }
.lk-lang.open .lk-lang__menu{ display:block; }
.lk-lang__menu a{ display:block; padding:8px 12px; border-radius:6px; color:var(--text-2); font-size:14px; }
.lk-lang__menu a:hover{ background:rgba(246,248,247,.06); color:var(--text); }

.lk-sidebar{
  position:fixed; top:var(--header-h); left:0; bottom:0; width:var(--sidebar-w); z-index:110;
  background:rgba(10,14,15,.5);
  -webkit-backdrop-filter:blur(14px); backdrop-filter:blur(14px);
  border-right:1px solid var(--hairline);
  overflow-y:auto; transition:transform .3s var(--ease);
}
.lk-welcome{ padding:22px 22px 14px; border-bottom:1px solid var(--hairline-soft); }
.lk-welcome span{ display:block; color:var(--muted); font-size:12px; text-transform:uppercase; letter-spacing:var(--tracking-label); }
.lk-welcome strong{ display:block; font-family:var(--font-display); font-size:1.25rem; font-weight:500; margin-top:4px; }

.lk-menu{ list-style:none; margin:14px 0; padding:0; }
.lk-menu li a{
  display:flex; align-items:center; gap:14px; padding:13px 22px;
  color:var(--text-2); font-size:14.5px; border-left:2px solid transparent; transition:all .2s var(--ease);
}
.lk-menu li a i{ font-size:17px; width:20px; text-align:center; opacity:.85; }
.lk-menu li a:hover{ color:var(--text); background:rgba(246,248,247,.04); }
.lk-menu li.active a{ color:var(--text); background:rgba(246,248,247,.05); border-left-color:var(--gold); }

.lk-main{ margin-left:var(--sidebar-w); padding-top:var(--header-h); min-height:100vh; position:relative; z-index:2;
  display:flex; flex-direction:column; }
.lk-content{ flex:1; width:100%; max-width:1340px; margin:0 auto; padding:30px 34px; }
.lk-page-head{ margin-bottom:24px; }
.lk-page-head h1{ font-size:2rem; margin:0; }

.lk-footer{ margin-top:auto; padding:22px 34px; border-top:1px solid var(--hairline-soft);
  text-align:center; color:var(--muted); font-size:13px; }
.lk-footer a{ color:var(--text-2); }

/* мобильный сайдбар */
.lk-backdrop{ display:none; position:fixed; inset:var(--header-h) 0 0 0; background:rgba(0,0,0,.5); z-index:105; }
@media (max-width:991.98px){
  .lk-burger{ display:inline-block; }
  .lk-sidebar{ transform:translateX(-100%); }
  body.lk-sidebar-open .lk-sidebar{ transform:translateX(0); }
  body.lk-sidebar-open .lk-backdrop{ display:block; }
  .lk-main{ margin-left:0; }
  .lk-content{ padding:22px 18px; }
}

/* ───────── components (Bootstrap-разметка контента, тёмная тема) ───────── */
.card{ background:rgba(12,17,19,.55); -webkit-backdrop-filter:blur(8px); backdrop-filter:blur(8px);
  border:1px solid var(--hairline); border-radius:var(--radius); margin-bottom:26px; overflow:hidden; }
.card > .header{ padding:20px 24px 0; }
.card > .header h2{ font-size:1.35rem; margin:0; }
.card > .body{ padding:24px; }

/* единый стиль кнопок ЛК — контурные CAPS, как CTA на карточках тарифов */
.btn{ font-family:var(--font-body); font-weight:600; border-radius:var(--radius-sm); padding:13px 26px;
  border:1px solid transparent; cursor:pointer; transition:all .2s var(--ease); display:inline-flex;
  align-items:center; justify-content:center; gap:8px; font-size:12px;
  text-transform:uppercase; letter-spacing:.13em; text-decoration:none; }
.btn-primary{ background:transparent; color:var(--text); border:1px solid rgba(246,248,247,.32); box-shadow:none; }
.btn-primary:hover{ background:rgba(246,248,247,.08); border-color:rgba(246,248,247,.55); color:var(--text); filter:none; box-shadow:none; }
.btn-block{ display:flex; width:100%; }
.btn-default,.btn-outline-secondary,.btn-light,.btn-secondary{ background:transparent; color:var(--text-2); border:1px solid rgba(246,248,247,.18); }
.btn-default:hover,.btn-outline-secondary:hover,.btn-light:hover,.btn-secondary:hover{ background:rgba(246,248,247,.06); border-color:rgba(246,248,247,.38); color:var(--text); }
.btn:active{ transform:translateY(1px); }
.btn-xs{ padding:6px 14px; font-size:11px; letter-spacing:.1em; }

label,.control-label{ color:var(--text-2); font-size:13.5px; margin-bottom:6px; display:inline-block; }
.form-control,.form-select,select,input[type=text],input[type=email],input[type=password],input[type=tel],input[type=number],textarea{
  width:100%; background:rgba(246,248,247,.04); border:1px solid var(--hairline);
  color:var(--text); -webkit-text-fill-color:var(--text);
  border-radius:var(--radius-sm); padding:11px 14px; font:inherit; font-size:14.5px;
  transition:border-color .2s var(--ease), background .2s var(--ease);
}
.form-control:focus,.form-select:focus,select:focus,textarea:focus,input:focus{ outline:none;
  color:var(--text); -webkit-text-fill-color:var(--text);
  border-color:rgba(246,248,247,.42); background:rgba(246,248,247,.07); box-shadow:none; }
.form-control::placeholder,input::placeholder,textarea::placeholder{ color:var(--muted); -webkit-text-fill-color:var(--muted); opacity:1; }
/* read-only / disabled — затемнённое поле, пунктир, приглушённый текст (не светлый бокс Bootstrap) */
.form-control:disabled,.form-control[readonly],.form-control[disabled],select:disabled,textarea:disabled,
input:disabled,input[readonly]{
  background:rgba(246,248,247,.015); color:var(--text-2); -webkit-text-fill-color:var(--text-2);
  border-style:dashed; border-color:var(--hairline); opacity:1; cursor:not-allowed; }
/* autofill: без белого фона Chrome */
input:-webkit-autofill,input:-webkit-autofill:hover,input:-webkit-autofill:focus,
textarea:-webkit-autofill,select:-webkit-autofill{
  -webkit-text-fill-color:var(--text); caret-color:var(--text);
  -webkit-box-shadow:0 0 0 1000px rgba(18,24,26,1) inset; transition:background-color 9999s ease-in-out 0s; }
input[type=checkbox],input[type=radio]{ accent-color:var(--gold); width:16px; height:16px; vertical-align:-3px; cursor:pointer; }
.form-group{ margin-bottom:18px; }
select option{ background:var(--bg-2); color:var(--text); }
.help-block,.hint-block{ color:var(--muted); font-size:12.5px; margin-top:5px; }
.has-error .form-control{ border-color:#d9534f; }
.has-error .help-block{ color:#e98a86; }

.alert{ background:rgba(246,248,247,.04); border:1px solid var(--hairline); border-left-width:3px; color:var(--text);
  border-radius:var(--radius-sm); padding:14px 18px; margin-bottom:18px; }
.alert-success{ border-left-color:#3fb27f; }
.alert-info{ border-left-color:#4a90d9; }
.alert-warning{ border-left-color:#d8a85a; }
.alert-danger{ border-left-color:#d9534f; }

table{ width:100%; color:var(--text); }
.table td,.table th{ border-color:var(--hairline-soft) !important; }
.text-success{ color:#5fcf9b !important; }

/* демо-карточки «Мои счета» — нейтрализуем светлые градиенты темы (детально — батч 2) */
.number-chart,.demo-card,.l-amber,.l-blue,.l-blush,.l-salmon,.l-parpl,.l-seagreen{
  background:var(--panel) !important; color:var(--text) !important;
}

/* блок согласия / прочее наследуют .card. caps-лейблы */
.lk-label{ text-transform:uppercase; letter-spacing:var(--tracking-label); font-size:12px; color:var(--muted); }

/* ───────── карточки тарифов /accounts/index (стиль «Select your account») ───────── */
.card.plan{ position:relative; height:100%; overflow:visible; display:flex; flex-direction:column; padding:28px 26px;
  background:rgba(12,17,19,.58); -webkit-backdrop-filter:blur(6px); backdrop-filter:blur(6px);
  transition:transform .3s var(--ease), box-shadow .3s var(--ease), background .3s var(--ease), border-color .3s var(--ease); }
.card.plan:hover{ transform:translateY(-6px); background:rgba(12,17,19,.42); border-color:rgba(246,248,247,.18);
  box-shadow:0 30px 60px -28px rgba(0,0,0,.65), 0 0 0 1px rgba(246,248,247,.10), 0 0 44px -14px rgba(246,248,247,.16); }

/* «Pass the course» (реальные курсы, §18): внутренняя рамка-фрейм внутри карточки */
.card.plan.plan--course::before{
  content:""; position:absolute; inset:12px; pointer-events:none;
  border:1px solid var(--hairline); border-radius:var(--radius-sm); }
/* выравнивание карточек курсов при названии в 1–2 строки (цена/строки на одном уровне) */
.card.plan.plan--course .plan__tier{ line-height:1.35; min-height:2.7em; }

/* популярный тариф — зелёный акцент + лента */
.card.plan.is-popular{
  background:linear-gradient(168deg, rgba(15,38,29,.7), rgba(11,28,22,.56) 60%, rgba(8,20,16,.62)) padding-box,
            linear-gradient(160deg, rgba(150,225,185,.5), rgba(150,225,185,.16) 55%, rgba(150,225,185,.4)) border-box;
  border:1px solid transparent;
  box-shadow:0 28px 80px -40px rgba(46,140,104,.45); }
.card.plan.is-popular:hover{ transform:translateY(-6px);
  box-shadow:0 34px 80px -34px rgba(46,140,104,.55), 0 0 44px -14px rgba(150,225,185,.18); }
.plan__ribbon{ position:absolute; top:-11px; left:50%; transform:translateX(-50%); z-index:3;
  padding:5px 16px 9px; white-space:nowrap; font-family:var(--font-body); font-weight:600;
  font-size:10.5px; letter-spacing:.26em; text-transform:uppercase; color:var(--text);
  background:var(--bg-2); border:1px solid rgba(150,225,185,.4);
  clip-path:polygon(0 0, 100% 0, 100% calc(100% - 5px), 50% 100%, 0 calc(100% - 5px)); }
.plan__tier{ font-family:var(--font-body); text-transform:uppercase; letter-spacing:var(--tracking-label);
  font-size:12px; color:var(--muted); margin-bottom:14px; }
.plan__price{ font-family:var(--font-display); font-weight:400; font-size:clamp(2.6rem,3.4vw,3.5rem);
  line-height:1; color:var(--text); margin-bottom:22px; }
.plan__price .cur{ font-size:.5em; vertical-align:.46em; color:var(--text-2); margin-right:.04em; }
.plan__specs{ margin-bottom:24px; }
.plan__row{ display:flex; justify-content:space-between; align-items:baseline; gap:14px;
  padding:13px 0; border-top:1px solid var(--hairline-soft); font-size:14px; }
.plan__row:first-child{ border-top:0; }
.plan__row .lbl{ color:var(--muted); }
.plan__row .val{ color:var(--text); text-align:right; }
.plan__row .val b{ font-weight:500; }
.plan__row .val small{ display:block; color:var(--muted); font-size:.85em; font-weight:400; }
.plan__cta{ margin-top:auto; }
.plan__cta .btn{ width:100%; background:transparent; color:var(--text);
  border:1px solid rgba(246,248,247,.3); text-transform:uppercase; letter-spacing:.13em;
  font-size:12px; padding:15px; }
.plan__cta .btn:hover{ background:rgba(246,248,247,.08); border-color:rgba(246,248,247,.5); color:var(--text); }

/* ───────── демо-счета /accounts/my (та же семья .plan) ───────── */
.demo-card .plan__tier{ display:flex; align-items:center; gap:8px; letter-spacing:.12em;
  color:var(--text-2); text-transform:none; font-size:13px; margin-bottom:16px; }
.demo-card .plan__tier i{ color:var(--gold); font-size:15px; }
.demo-balance{ font-family:var(--font-display); font-weight:400; line-height:1; color:var(--text);
  font-size:clamp(2rem,2.6vw,2.6rem); margin-bottom:22px; }
.demo-balance .unit{ font-family:var(--font-body); font-size:.34em; letter-spacing:.1em;
  color:var(--text-2); margin-left:.4em; vertical-align:.28em; }
.plan__row .val.mono{ font-family:ui-monospace,"SFMono-Regular",Menlo,Consolas,monospace;
  font-size:12.5px; word-break:break-all; }
/* карточка «открыть новый счёт» */
.card.plan.plan--empty{ justify-content:center; gap:18px;
  border-style:dashed; border-color:rgba(246,248,247,.2); background:rgba(12,17,19,.4); }
.plan--empty .plan__empty-title{ font-family:var(--font-display); font-size:1.4rem; line-height:1.3; color:var(--text); }
.plan--empty .btn{ display:inline-block; width:100%; text-align:center; text-decoration:none;
  background:transparent; color:var(--text); border:1px solid rgba(246,248,247,.3);
  text-transform:uppercase; letter-spacing:.13em; font-size:12px; padding:15px; }
.plan--empty .btn:hover{ background:rgba(246,248,247,.08); border-color:rgba(246,248,247,.5); color:var(--text); }

/* ───────── блок согласия на передачу данных (/accounts/index) ───────── */
.consent-card{ max-width:680px; }
.consent-card .body p{ color:var(--text-2); line-height:1.6; }
.consent-card label{ display:inline-flex; align-items:flex-start; gap:10px; color:var(--text);
  font-size:14px; font-weight:400; cursor:pointer; }

/* страница-переход на оплату (setecom-redirect) */
.propten-redirect{ max-width:540px; margin:40px auto; text-align:center; }
.propten-redirect h2{ margin-bottom:12px; }
.propten-redirect p{ color:var(--text-2); margin-bottom:22px; }

/* ───────── auth (логин/регистрация/сброс пароля) ───────── */
.lk-auth{ min-height:100vh; display:flex; align-items:center; justify-content:center; padding:48px 18px; position:relative; z-index:2; }
.lk-auth__box{ width:100%; max-width:460px; }
.lk-auth__logo{ display:block; text-align:center; margin-bottom:26px; }
.lk-auth__logo img{ height:70px; width:auto; }
.lk-auth__card{ background:rgba(12,17,19,.66); -webkit-backdrop-filter:blur(16px); backdrop-filter:blur(16px);
  border:1px solid var(--hairline); border-radius:var(--radius); padding:34px 32px;
  box-shadow:0 40px 90px -50px rgba(0,0,0,.8); }
/* заголовок карточки + переключатель языка приходят из общего шаблона */
.lk-auth__card h1,.lk-auth__card h2,.lk-auth__card h3,.lk-auth__card h4,.lk-auth__card h5{
  font-family:var(--font-display); font-weight:400; color:var(--text); margin:0 0 20px; font-size:1.6rem; }
.lk-auth__card .form-group{ margin-bottom:16px; }
.lk-auth__card .btn-block,.lk-auth__card button[type=submit]{ width:100%; margin-top:6px; }
.lk-auth__card a{ color:var(--text); }
.lk-auth__card a:hover{ color:var(--gold-light); }
.lk-auth__card .checkbox a,.lk-auth__card p a,.lk-auth__foot a{ color:var(--gold-light); }
.lk-auth__card hr{ border-color:var(--hairline); }
.lk-auth__foot{ text-align:center; margin-top:18px; color:var(--text-2); font-size:14px; }

/* дропдаун (переключатель языка) — BS3-revival под BS5 + тёмная тема */
.dropdown.open>.dropdown-menu,.btn-group.open>.dropdown-menu{ display:block; }
.dropdown-menu{ background:var(--bg-2); border:1px solid var(--hairline); border-radius:var(--radius-sm);
  padding:6px; box-shadow:0 18px 40px -20px rgba(0,0,0,.7); }
.dropdown-menu>li>a,.dropdown-menu .dropdown-item{ color:var(--text-2); padding:7px 12px;
  border-radius:6px; display:block; text-decoration:none; }
.dropdown-menu>li>a:hover,.dropdown-menu .dropdown-item:hover{ background:rgba(246,248,247,.07); color:var(--text); }

/* телефон с кодом страны (intl-tel-input) — тёмная тема */
.iti{ width:100%; display:block; }
.iti__selected-flag{ background:transparent; }
.iti__selected-flag:hover,.iti--allow-dropdown .iti__flag-container:hover .iti__selected-flag{ background:rgba(246,248,247,.06); }
.iti__country-list{ background:var(--bg-2); color:var(--text); border:1px solid var(--hairline);
  box-shadow:0 18px 40px -20px rgba(0,0,0,.7); }
.iti__country.iti__highlight{ background:rgba(246,248,247,.08); }
.iti__country-name{ color:var(--text); }
.iti__dial-code{ color:var(--muted); }
.iti__divider{ border-color:var(--hairline); }

/* Krajee Select2 (тема krajee-bs3): телефон-код / страна / город-desk — тёмная тема.
   У темы свои белые стили — перебиваем !important; высота/ширина = как у .form-control. */
/* width:100% — только инлайновому select2 в .form-group (НЕ body-контейнеру выпадашки,
   иначе он, position:absolute, растягивается на весь вьюпорт → горизонтальный скролл) */
.form-group > .select2-container{ width:100%!important; }
.select2-container .select2-selection--single,
.select2-container--krajee-bs3 .select2-selection{
  background:rgba(246,248,247,.04)!important; border:1px solid var(--hairline)!important;
  border-radius:var(--radius-sm)!important; height:44px!important; box-shadow:none!important;
  color:var(--text)!important; display:flex!important; align-items:center!important; }
.select2-container .select2-selection--single .select2-selection__rendered{
  color:var(--text)!important; line-height:1.4!important; padding:0 12px!important; }
.select2-container .select2-selection--single .select2-selection__placeholder{ color:var(--muted)!important; }
.select2-container .select2-selection--single .select2-selection__arrow{
  height:42px!important; border-left:1px solid var(--hairline)!important; background:transparent!important; }
.select2-container .select2-selection--single .select2-selection__arrow b{ border-color:var(--text-2) transparent transparent transparent!important; }
.select2-dropdown,.select2-container--krajee-bs3 .select2-dropdown,
.select2-results,.select2-results__options{
  background:var(--bg-2)!important; border-color:var(--hairline)!important; color:var(--text)!important; }
.select2-results__option,.select2-results__option[aria-selected]{ background:var(--bg-2)!important; color:var(--text)!important; }
.select2-container--krajee-bs3 .select2-results__option--highlighted,
.select2-results__option--highlighted,.select2-results__option--highlighted[aria-selected]{ background:rgba(246,248,247,.10)!important; color:var(--text)!important; }
.select2-search--dropdown .select2-search__field{ background:rgba(246,248,247,.04)!important; color:var(--text)!important; border:1px solid var(--hairline)!important; }

/* телефон: код (select2) + номер (regPhone) в один ряд — вернуть раскладку (без PaAsset она потерялась) */
.field-signupform-phone-code{ display:flex!important; flex-wrap:nowrap; align-items:center; gap:10px; position:static!important; }
.field-signupform-phone-code > .field-signupform-phone_code{ flex:0 0 150px; min-width:150px; max-width:150px; margin:0; }
/* main.css ставил номеру position:absolute; width:70% (наложение поверх кода) — глушим, делаем обычным полем в ряд */
.field-signupform-phone-code > .field-signupform-phone_number{
  position:static!important; top:auto!important; right:auto!important; left:auto!important;
  width:auto!important; flex:1 1 auto; min-width:0; margin:0; }
.field-signupform-phone-code > .field-signupform-phone{ flex:0 0 0; width:0; overflow:hidden; margin:0; }
.field-signupform-phone-code .field-signupform-phone_number input{
  border:1px solid var(--hairline)!important; height:44px!important; background:rgba(246,248,247,.04)!important; padding:11px 14px!important; }
/* высота select2-кода = как у инпута (main.css ставил 31px только для темы --krajee) */
.field-signupform-phone_code .select2-container .select2-selection--single{ height:44px!important; padding:6px 24px 6px 12px!important; }
.field-signupform-phone_code .select2-container .select2-selection--single .select2-selection__arrow{ height:42px!important; }

/* Скрыть поле «город/desk» в регистрации кабинета — только визуально.
   Значение desk форсит сервер (actionSignup: $model->city = fixedDeskId), поле в DOM остаётся.
   Правило только в cabinet.css → pa-Pelliron-ЛК (та же шаблонная форма) не задет. */
#signupCityList{ display:none!important; }

/* toastr (сообщения об ошибках/успехе) — лёгкие: полупрозрачный фон + цветная рамка */
#toast-container > div{ opacity:1!important; border-radius:var(--radius-sm); box-shadow:0 18px 44px -22px rgba(0,0,0,.7);
  background-color:rgba(10,14,15,.55)!important; -webkit-backdrop-filter:blur(10px); backdrop-filter:blur(10px);
  border:1px solid var(--hairline); color:var(--text); }
#toast-container > .toast-error{ border-color:#d9534f; }
#toast-container > .toast-success{ border-color:#3fb27f; }
#toast-container > .toast-info{ border-color:#4a90d9; }
#toast-container > .toast-warning{ border-color:#d8a85a; }
.toast-title{ color:var(--text); }
.toast-message{ color:var(--text-2); }

/* внутренняя разметка общих auth-шаблонов (.header/.lead/.dropdown/.bottom) */
.lk-auth__card .header{ display:flex; justify-content:space-between; align-items:center; gap:14px; margin-bottom:22px; }
.lk-auth__card .header .lead{ font-family:var(--font-display); font-size:1.5rem; font-weight:400;
  color:var(--text); margin:0; line-height:1.2; }
.lk-auth__card .header .dropdown{ position:relative; flex:none; }
.lk-auth__card .header .dropdown-toggle.btn{ padding:9px 14px; font-size:11px; white-space:nowrap; }
.lk-auth__card .header .dropdown .dropdown-menu{ position:absolute; top:100%; right:0; left:auto;
  margin-top:6px; min-width:188px; z-index:30; }
/* переключатель языка: login = ul.dropdown-languages > li > a; signup = ul.account > a > li
   (разная вложенность!). Целимся в общий .dropdown-menu.account и нормализуем обе. */
.dropdown-menu.account li{ list-style:none; padding:0!important; margin:0; }
.dropdown-menu.account a,
.dropdown-menu.account li{ display:flex!important; align-items:center; gap:10px; }
.dropdown-menu.account a{ padding:8px 12px!important; color:var(--text-2)!important;
  text-decoration:none; border-radius:6px; white-space:nowrap; }
.dropdown-menu.account a:hover{ background:rgba(246,248,247,.07); color:var(--text)!important; }
.dropdown-menu.account img{ width:20px!important; height:14px!important;
  max-width:20px!important; max-height:14px!important; min-width:20px; object-fit:cover;
  margin:0!important; padding:0!important; border-radius:2px; flex:0 0 auto; }

/* «Forgot password?» на логине показываем - восстановление пароля включено (письмо от PropTen). */
/* ссылки под кнопкой - каждая с новой строки + отступ от кнопки */
.lk-auth__card .bottom{ margin-top:22px; }
.lk-auth__card .bottom span{ display:block; }
.lk-auth__card .bottom span.helper-text{ margin-bottom:8px; }

/* ───────── утилиты отступов (совместимость с разметкой вьюх, AdminBSB-стиль) ───────── */
.m-b-0{margin-bottom:0!important}.m-b-5{margin-bottom:5px!important}.m-b-10{margin-bottom:10px!important}
.m-b-15{margin-bottom:15px!important}.m-b-20{margin-bottom:20px!important}.m-b-25{margin-bottom:25px!important}
.m-t-0{margin-top:0!important}.m-t-10{margin-top:10px!important}.m-t-15{margin-top:15px!important}
.m-t-20{margin-top:20px!important}.m-t-30{margin-top:30px!important}
.m-r-5{margin-right:5px!important}.m-l-2{margin-left:8px!important}.ml-2{margin-left:8px!important}
.p-l-0{padding-left:0!important}.p-r-0{padding-right:0!important}.p-t-15{padding-top:15px!important}.p-b-15{padding-bottom:15px!important}
/* BS3-утилиты (используются в общих auth-шаблонах) */
.pull-left{float:left!important}.pull-right{float:right!important}
.clearfix::after{content:"";display:table;clear:both}
.text-center{text-align:center}.text-right{text-align:right}.text-left{text-align:left}
.text-muted{color:var(--text-2)!important}

/* ───────── error ───────── */
.lk-error{ min-height:100vh; display:flex; align-items:center; justify-content:center; text-align:center; padding:40px 18px; position:relative; z-index:2; }
.lk-error__code{ font-family:var(--font-display); font-size:clamp(4rem,14vw,9rem); line-height:1; color:var(--text); margin:0; }
.lk-error__msg{ color:var(--text-2); margin:14px 0 26px; max-width:520px; }

/* ═════════ RTL — арабская версия (зеркалирование раскладки) ═════════ */
/* сайдбар → справа, контент → слева */
[dir="rtl"] .lk-sidebar{ left:auto; right:0; border-right:0; border-left:1px solid var(--hairline); }
[dir="rtl"] .lk-main{ margin-left:0; margin-right:var(--sidebar-w); }

/* активная полоса пункта меню → справа */
[dir="rtl"] .lk-menu li a{ border-left:0; border-right:2px solid transparent; }
[dir="rtl"] .lk-menu li.active a{ border-right-color:var(--gold); }

/* меню языка (шапка + auth) раскрывается к левому краю */
[dir="rtl"] .lk-lang__menu,
[dir="rtl"] .lk-auth__card .header .dropdown-menu,
[dir="rtl"] .lk-auth__card .header .dropdown .dropdown-menu,
[dir="rtl"] .dropdown-menu.account{ right:auto; left:0; }

/* мобильный сайдбар выезжает справа */
@media (max-width:991.98px){
  [dir="rtl"] .lk-sidebar{ transform:translateX(100%); }
  [dir="rtl"] body.lk-sidebar-open .lk-sidebar{ transform:translateX(0); }
  [dir="rtl"] .lk-main{ margin-right:0; }
}

/* карточки тарифов: значения зеркалим; цена и моно-поля остаются LTR */
[dir="rtl"] .plan__row .val{ text-align:left; }
[dir="rtl"] .plan__row .val.mono{ direction:ltr; text-align:left; }
[dir="rtl"] .plan__price{ direction:ltr; text-align:right; }
[dir="rtl"] .plan__price .cur{ margin-right:0; margin-left:.04em; }
[dir="rtl"] .demo-balance{ direction:ltr; text-align:right; }
[dir="rtl"] .demo-balance .unit{ margin-left:0; margin-right:.4em; }

/* телефон/почта/пароль набираются слева направо — держим LTR (выравнивание к началу RTL) */
[dir="rtl"] .field-signupform-phone-code{ direction:ltr; }
[dir="rtl"] input[type=email],
[dir="rtl"] input[type=tel],
[dir="rtl"] input[type=password]{ direction:ltr; text-align:right; }

/* директивные утилиты — зеркалим смысл */
[dir="rtl"] .m-r-5{ margin-right:0!important; margin-left:5px!important; }
[dir="rtl"] .m-l-2,[dir="rtl"] .ml-2{ margin-left:0!important; margin-right:8px!important; }
[dir="rtl"] .pull-left{ float:right!important; }
[dir="rtl"] .pull-right{ float:left!important; }
[dir="rtl"] .text-right{ text-align:left; }
[dir="rtl"] .text-left{ text-align:right; }
