/* Екрани входу (T-383) — розкладка поверх /ds/vidno.css, лише токени. Корінь `.ds`. */
.ds.vh-page{min-height:100vh;min-height:100dvh;display:flex;align-items:center;justify-content:center;padding:16px;box-sizing:border-box}
.ds .vh-card{width:100%;max-width:440px;box-sizing:border-box;background:var(--surface);border-radius:var(--radius-24);box-shadow:var(--shadow-card);padding:32px 28px}
.ds .vh-card.is-center{text-align:center}
.ds .vh-logo{margin:0;padding:0 0 24px;font-size:21px}
.ds .vh-card.is-center .vh-logo{justify-content:center}
.ds .vh-title{margin:0 0 12px}
.ds .vh-lead{margin:0 0 24px;color:var(--ink-2);font-size:15px;line-height:1.5}
.ds .vh-form{display:flex;flex-direction:column;gap:16px}
.ds .vh-field{display:flex;flex-direction:column;gap:5px}
.ds .vh-field>span{font-size:12.5px;font-weight:700;color:var(--ink-3)}
.ds .vh-alert{margin:0 0 20px;padding:12px 14px;border-radius:var(--radius-14);background:var(--red-tint);color:var(--red-ink);font-size:14px;font-weight:600;line-height:1.4}
.ds .vh-link{display:block;width:100%;border:0;background:none;font:inherit;font-size:14px;font-weight:600;color:var(--blue);text-decoration:underline;text-underline-offset:4px;cursor:pointer;padding:10px 0}
.ds .vh-link:focus-visible{outline:2px solid var(--focus);outline-offset:2px;border-radius:6px}
.ds .vh-note{margin:20px 0 0;color:var(--ink-3);font-size:13px;line-height:1.45}
.ds .vh-ico{width:44px;height:44px;border-radius:var(--radius-14);display:flex;align-items:center;justify-content:center;margin:0 auto 16px;background:var(--green-tint);color:var(--green-ink)}
.ds .vh-ico.is-amber{background:var(--amber-tint);color:var(--amber-ink)}
.ds .vh-ico.is-blue{background:var(--blue-tint);color:var(--blue)}
.ds .vh-card .v-ghost{text-decoration:none}
/* T-554 «везде» (решение 24.10): вход — в языке кабинета: переливающийся фон с линиями дуги, полоса бренда над карточкой.
   Вход общий для всех клиник (до ключа) — меняется у всех. Контраст текста — прежний (карточка белая). */
.ds.vh-page{background:
  radial-gradient(80% 50% at 0% 0%,rgba(139,98,216,.28) 0%,rgba(139,98,216,0) 70%),
  radial-gradient(70% 45% at 100% 6%,rgba(45,123,245,.26) 0%,rgba(45,123,245,0) 70%),
  radial-gradient(90% 40% at 50% 100%,rgba(125,242,107,.22) 0%,rgba(125,242,107,0) 70%),
  var(--bg)}
:root[data-theme="dark"] .ds.vh-page{background:radial-gradient(80% 50% at 0% 0%,rgba(139,98,216,.24) 0%,rgba(139,98,216,0) 70%),radial-gradient(70% 45% at 100% 6%,rgba(45,123,245,.2) 0%,rgba(45,123,245,0) 70%),var(--bg)}
@media (prefers-color-scheme: dark){:root:not([data-theme="light"]) .ds.vh-page{background:radial-gradient(80% 50% at 0% 0%,rgba(139,98,216,.24) 0%,rgba(139,98,216,0) 70%),radial-gradient(70% 45% at 100% 6%,rgba(45,123,245,.2) 0%,rgba(45,123,245,0) 70%),var(--bg)}}
.ds .vh-card{position:relative;overflow:hidden}
.ds .vh-card::before{content:"";position:absolute;left:0;right:0;top:0;height:4px;background:var(--grad-brand)}
.ds .vh-logo{font-size:24px;font-weight:800}
.ds .vh-logo i{width:36px;height:36px}
