/* ===== Окно входа в кабинете =====
 * Одна и та же модалка на шести страницах — чат, дашборд, дневник, запись,
 * мысли, настройки — лежала шестью копиями и успела разъехаться: на трёх
 * страницах заголовок и кнопка по центру, на трёх прижаты влево, отступ сверху
 * 20/14/12px в зависимости от страницы.
 *
 * Сведено к варианту кабинета: заголовок, подпись, ошибка и ссылка-переключатель
 * по центру. Разметка модалки собирается в app-shell.js.
 */
.gate{max-width:440px;margin:14px auto 0;background:var(--surface);border:.5px solid var(--border);border-radius:var(--radius-inner);box-shadow:var(--shadow-soft);padding:26px 24px}
/* Заглушка закрытого раздела: сама форма входа живёт в попапе app-shell.js,
   здесь остаётся повод и кнопка, которая его открывает. */
.gate-lite{max-width:440px;margin:14px auto 0;padding:30px 26px;text-align:center;background:var(--surface);border:.5px solid var(--border);border-radius:var(--radius-inner);box-shadow:var(--shadow-soft)}
.gate-lite h2{font-family:var(--display);font-size:22px;color:var(--head);margin:0 0 8px;font-weight:500}
.gate-lite .g-sub{color:var(--muted);font-size:14.5px;line-height:1.55;margin:0 0 20px}
.gate-lite .btn-primary{min-width:200px;background:var(--accent);color:#fff;border:none;border-radius:var(--radius-pill);padding:12px 22px;font:inherit;font-weight:600;font-size:15px;cursor:pointer;transition:background .18s ease}
.gate-lite .btn-primary:hover{background:var(--accent-2)}
html[data-theme="dark"] .gate-lite{border-color:var(--dark-line)}
.gate h2{font-family:var(--display);font-size:22px;color:var(--head);margin:0 0 6px;font-weight:500;text-align:center}
.gate .g-sub{color:var(--muted);font-size:14.5px;margin:0 0 18px;text-align:center}
.btn-google{width:100%;display:flex;align-items:center;justify-content:center;gap:10px;background:var(--surface);border:.5px solid var(--border);border-radius:var(--radius-small);padding:12px;font:inherit;font-size:15px;font-weight:600;color:var(--text);cursor:pointer}
.btn-google:hover{border-color:var(--accent)}
.btn-google svg{width:18px;height:18px}
.gate .or{display:flex;align-items:center;gap:10px;color:var(--faint);font-size:12.5px;margin:16px 0}
.gate .or::before,.gate .or::after{content:"";flex:1;height:1px;background:var(--border)}
.gate input{width:100%;background:var(--cream);border:.5px solid var(--border);border-radius:var(--radius-small);padding:12px 14px;font:inherit;font-size:15px;color:var(--text);margin-bottom:10px;box-sizing:border-box}
/* В тёмной теме --border прозрачен, а --cream всегда светлый: поля светились
   молоком, кнопки входа теряли границы и сливались с карточкой. */
html[data-theme="dark"] .gate input{background:var(--dark-surface-2);border-color:var(--field-line)}
html[data-theme="dark"] .gate input::placeholder{color:var(--dark-muted)}
html[data-theme="dark"] .gate .btn-vk,html[data-theme="dark"] .gate .btn-ya,html[data-theme="dark"] .gate .btn-google{border-color:var(--dark-line)}
.gate input:focus{outline:none;border-color:var(--accent);box-shadow:var(--ring)}
.gate .btn-primary{width:100%;background:var(--accent);color:#fff;border:none;border-radius:var(--radius-small);padding:12px;font:inherit;font-weight:600;font-size:15px;cursor:pointer}
.gate .btn-primary:hover{background:var(--accent-2)}
.gate .toggle{display:block;margin:12px auto 0;background:none;border:none;color:var(--accent);font:inherit;font-size:13.5px;cursor:pointer;text-decoration:underline}
.gate .err{color:var(--sun-2);font-size:13px;margin:10px 0 0;min-height:18px;text-align:center}
.btn-vk,.btn-ya{width:100%;display:flex;align-items:center;justify-content:center;gap:10px;border-radius:var(--radius-small);padding:12px;font:inherit;font-size:15px;font-weight:600;cursor:pointer;margin-bottom:10px;border:.5px solid var(--border);background:var(--surface);color:var(--text);transition:border-color .18s ease}
.btn-vk:hover,.btn-ya:hover{border-color:var(--accent)}
.btn-vk svg,.btn-ya svg{width:22px;height:22px}
.btn-vk svg{background:#0077FF;border-radius:var(--radius-micro)}
