/* Вход, регистрация и связанные шаги аккаунта. Строится поверх pb_core.css.
   Телефон и планшет: только форма и строка бренда сверху.
   ПК (от 1100px): слева обложка с одной строкой, справа форма в .pb-panel. */

/* Бренд-колонка (только ПК) */
.pb-auth-brand{display:none}
.pb-auth-cover{display:block;width:100%;aspect-ratio:4/3;object-fit:cover;object-position:78% 50%;clip-path:var(--pb-notch-8);background:var(--pb-color-surface-2)}
.pb-auth-value{max-width:24ch;margin:22px 0 0;font-size:24px;line-height:1.3;font-weight:800;letter-spacing:-.01em;color:var(--pb-color-text-primary)}

/* Строка бренда на телефоне */
.pb-auth-brandline{margin:0 0 14px;font-size:14px;line-height:1.45;color:var(--pb-color-text-muted)}
.pb-auth-brandline b{color:var(--pb-color-text-primary);font-weight:700}

/* Колонка с формой */
.pb-auth-task{width:100%;max-width:420px;margin:0 auto}
.pb-auth-panel{padding:20px 16px}
.pb-auth-head{margin:0 0 20px}
.pb-auth-head h1{margin:0;font-size:26px;line-height:1.15;font-weight:800;letter-spacing:-.015em}
.pb-auth-head p{margin:8px 0 0;font-size:15px;line-height:1.5;color:var(--pb-color-text-secondary)}
.pb-auth-head p b{color:var(--pb-color-text-primary);font-weight:700}
.pb-auth-panel>.pb-notice{margin:0 0 16px}

/* Кнопка Telegram: единственное место с фирменным цветом Telegram */
.pb-auth-telegram-btn{width:100%;min-height:48px;background:#2aabee;color:var(--pb-color-on-accent)}
.pb-auth-telegram-btn:hover{background:#2aabee;color:var(--pb-color-on-accent);filter:brightness(1.08)}
.pb-auth-telegram-btn img{width:20px;height:20px;display:block;filter:brightness(0)}
.pb-auth-telegram-btn.is-disabled{opacity:.5;cursor:default;pointer-events:none}

/* Разделитель «или по паролю» */
.pb-auth-or{display:flex;align-items:center;gap:12px;margin:18px 0;font-size:13px;color:var(--pb-color-text-muted)}
.pb-auth-or::before,.pb-auth-or::after{content:"";flex:1;height:1px;background:var(--pb-color-border-subtle)}

/* Поля */
.pb-auth-label-row{display:flex;align-items:baseline;justify-content:space-between;gap:12px}
.pb-auth-label-row a{color:var(--pb-color-accent-foreground);font-size:14px;font-weight:600;text-decoration:none}
.pb-auth-label-row a:hover{text-decoration:underline}
.pb-auth-input-wrap{position:relative}
.pb-auth-input-wrap .pb-input{padding-right:52px}
.pb-auth-eye{position:absolute;top:1px;right:1px;width:44px;height:44px;display:grid;place-items:center;border:0;border-radius:var(--pb-radius-sm);background:none;color:var(--pb-color-text-muted);cursor:pointer}
.pb-auth-eye:hover{color:var(--pb-color-text-primary)}
.pb-auth-code{font-size:24px;font-weight:700;letter-spacing:.3em;text-align:center;font-variant-numeric:tabular-nums}
.pb-auth-captcha{margin:0 0 18px;min-width:0}
.pb-auth-captcha:empty{display:none}
.pb-auth-captcha .pb-smartcaptcha{margin:0}
.honeypot-field{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}

/* Согласие с правилами (#rules-row, .checked переключает скрипт) */
.rules-row{position:relative;display:flex;align-items:flex-start;gap:12px;min-height:44px;margin:0 0 18px;cursor:pointer}
.rules-row input{position:absolute;opacity:0;width:1px;height:1px;pointer-events:none}
.rules-cb{position:relative;flex:none;width:22px;height:22px;margin-top:1px;border:1px solid var(--pb-color-border-strong);border-radius:var(--pb-radius-xs);background:var(--pb-color-bg-base)}
.rules-row.checked .rules-cb{border-color:var(--pb-color-accent);background:var(--pb-color-accent)}
.rules-row.checked .rules-cb::after{content:"";position:absolute;inset:6px;background:var(--pb-color-on-accent)}
.rules-row input:focus-visible+.rules-cb{outline:2px solid var(--pb-color-accent);outline-offset:2px}
.rules-txt{font-size:14px;line-height:1.5;color:var(--pb-color-text-secondary)}
.rules-txt a{color:var(--pb-color-accent-foreground);font-weight:600;text-decoration:none}
.rules-txt a:hover{text-decoration:underline}

/* Регистрация по почте: секция открывается скриптом (.visible) */
.form-section{display:none}
.form-section.visible{display:block;margin-top:18px}
.pb-auth-verify-text{margin:0 0 18px;font-size:15px;line-height:1.5;color:var(--pb-color-text-secondary)}
.pb-auth-verify-text b{color:var(--pb-color-text-primary);font-weight:700}
.pb-auth-verify-actions{display:grid;grid-template-columns:1fr;gap:8px;margin-top:12px}
.pb-auth-verify-actions form{margin:0}
.pb-auth-verify-actions .pb-btn{width:100%}

/* Строки под панелью */
.pb-auth-switch{margin:18px 0 0;font-size:14px;line-height:1.5;color:var(--pb-color-text-muted);text-align:center}
.pb-auth-switch a{color:var(--pb-color-accent-foreground);font-weight:600;text-decoration:none}
.pb-auth-switch a:hover{text-decoration:underline}
.pb-auth-switch b{color:var(--pb-color-text-primary);font-weight:700}
.pb-auth-note{margin:16px 0 0;font-size:14px;line-height:1.5;color:var(--pb-color-text-secondary)}

/* Вход через бота Telegram */
.pb-auth-steps{list-style:none;margin:0 0 16px;padding:0;border-top:1px solid var(--pb-color-border-subtle)}
.pb-auth-steps li{display:flex;align-items:flex-start;gap:12px;padding:12px 0;border-bottom:1px solid var(--pb-color-border-subtle)}
.pb-auth-step-num{flex:none;width:24px;font-size:15px;line-height:1.45;font-weight:800;color:var(--pb-color-accent-foreground)}
.pb-auth-steps b{display:block;font-size:15px;line-height:1.45;font-weight:600}
.pb-auth-steps div>span{display:block;margin-top:2px;font-size:13px;line-height:1.45;color:var(--pb-color-text-muted)}
.pb-auth-status{margin:0 0 16px}
.pb-auth-status[data-state="ok"]{border-color:currentColor;color:var(--pb-color-success)}
.pb-auth-status[data-state="err"]{border-color:currentColor;color:var(--pb-color-danger)}
.pb-auth-actions{display:grid;gap:8px}
.pb-auth-actions[hidden]{display:none}
.pb-auth-actions .pb-btn{width:100%}
.pb-auth-hint{margin:14px 0 0;font-size:13px;line-height:1.45;color:var(--pb-color-text-muted)}

@media (min-width:768px){
  .pb-auth-panel{padding:28px}
  .pb-auth-verify-actions{grid-template-columns:1fr 1fr}
  .pb-auth-actions--pair{grid-template-columns:minmax(0,1fr) auto}
}

@media (min-width:1100px){
  .pb-auth-grid{display:grid;grid-template-columns:minmax(0,1fr) 420px;gap:56px;align-items:center;min-height:calc(100dvh - 120px)}
  .pb-auth-brand{display:block;max-width:560px}
  .pb-auth-brandline{display:none}
  .pb-auth-task{max-width:none;margin:0}
  .pb-auth-head h1{font-size:30px}
}
