/* Блок «Вход | Регистрация» (js/auth.js, incs/auth.php → auth_block) */
.ab { max-width: 400px; margin: 0 auto; font-size: 14px; }
.ab.ab-busy { opacity: .6; pointer-events: none; }
.ab-title { font-size: 17px; font-weight: bold; text-align: center; margin: 0 0 12px 0; }
.ab-social { display: flex; flex-direction: column; gap: 8px; align-items: stretch; }
.ab-google { min-height: 44px; display: flex; justify-content: center; }
.ab-tg {
	display: flex; align-items: center; justify-content: center; gap: 8px;
	height: 40px; border: 0; border-radius: 4px; cursor: pointer;
	background: #2aabee; color: #fff; font-family: inherit; font-size: 15px; font-weight: 600;
}
.ab-tg:hover { background: #229ed9; }
.ab-tg-icon {
	width: 20px; height: 20px; display: inline-block;
	background: no-repeat center/contain url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23fff' d='M9.78 15.37l-.4 5.6c.57 0 .82-.25 1.12-.55l2.69-2.57 5.57 4.08c1.02.57 1.75.27 2.02-.94l3.66-17.15c.33-1.51-.54-2.1-1.53-1.74L.92 10.33C-.55 10.9-.53 11.73.67 12.1l5.5 1.71 12.77-8.05c.6-.4 1.15-.18.7.22'/%3E%3C/svg%3E");
}
.ab-or { display: flex; align-items: center; gap: 10px; color: #888; font-size: 12px; margin: 14px 0 10px; }
.ab-or:before, .ab-or:after { content: ''; flex: 1; border-top: 1px solid #ddd; }
.ab-tabs { display: flex; border-bottom: 2px solid #eee; margin-bottom: 12px; }
.ab-tab { flex: 1; text-align: center; padding: 8px 0; cursor: pointer; color: #666; font-size: 15px; margin-bottom: -2px; border-bottom: 2px solid transparent; }
.ab-tab.ab-on { color: #000; font-weight: bold; border-bottom-color: #009900; }
.ab-form input[type=email], .ab-form input[type=text], .ab-form input[type=password] {
	display: block; width: 100%; box-sizing: border-box;
	padding: 9px 10px; margin: 0 0 8px 0;
	border: 1px solid #ccc; border-radius: 4px; font-family: inherit; font-size: 15px;
}
.ab-btn {
	display: block; width: 100%; padding: 9px; border: 0; border-radius: 4px; cursor: pointer;
	background: #009900; color: #fff; font-family: inherit; font-size: 17px;
}
.ab-btn:hover { background: #00b300; }
.ab-small { text-align: center; margin: 8px 0 0; font-size: 13px; }
.ab-agree { display: flex; align-items: flex-start; gap: 6px; margin: 12px 0 14px; font-size: 12px; line-height: 1.4; color: #444; cursor: pointer; }
.ab-agree input { margin-top: 2px; flex-shrink: 0; }
.ab-agree-note { color: #888; }
.ab-agree.ab-agree-need { background: #fff4d6; outline: 2px solid #f0b400; border-radius: 4px; padding: 4px; }
.ab-error { margin-top: 10px; padding: 8px 10px; border-radius: 4px; background: #fff2f2; color: #c00; font-size: 13px; }
/* окно */
.ab-modal {
	position: relative; background: #fff; border-radius: 8px;
	width: 440px; max-width: calc(100% - 24px); box-sizing: border-box;
	margin: 30px auto 0; padding: 22px 20px 18px;
	max-height: calc(100vh - 60px); overflow-y: auto;
}
.ab-close { position: absolute; right: 10px; top: 4px; font-size: 30px; line-height: 30px; color: #999; cursor: pointer; }
.ab-close:hover { color: #000; }
.ab-loading { text-align: center; color: #888; padding: 30px 0; }
@media (max-width: 600px) { .ab-modal { margin-top: 12px; padding: 20px 14px 14px; } }
/* настройки профиля: привязка Google / Telegram */
.ab-links { max-width: 420px; margin: 0; }
.ab-link-row { margin: 0 0 12px; }
.ab-link-row .ab-google { justify-content: flex-start; margin-top: 6px; }
.ab-link-row .ab-tg { margin-top: 6px; padding: 0 16px; }
.ab-unlink { color: #c00; cursor: pointer; font-size: 12px; margin-left: 6px; text-decoration: underline; }
