/* airova — единая дизайн-система (общая для главной и личного кабинета).
   Один источник токенов и базовых компонентов. Подключается на index.html и account/dashboard.html. */

:root{
  color-scheme: light;
  /* фон/поверхности — единая СВЕТЛАЯ премиум-схема (весь сайт) */
  --bg:#F5F6FB;
  --card:#FFFFFF;
  --card2:#FFFFFF;
  --line:#E7EAF1;
  --line2:#DDE3EE;
  /* текст */
  --text:#0B1220;
  --muted:#475569;
  --faint:#8A97AB;
  /* брендовые акценты — синий + индиго */
  --brand:#4F46E5;
  --brand2:#2563EB;
  --mint:#16A34A;
  --gold:#D97706;
  --grad:linear-gradient(135deg,#6D28D9 0%,#4F46E5 60%,#4338CA 100%);
  /* алиасы для личного кабинета (историческое именование) */
  --accent:#4F46E5;
  --accent2:#2563EB;
  --ok:#16A34A;
  --warn:#D97706;
  --err:#DC2626;
}

/* Единый фоновый градиент для всех страниц (светлый, ненавязчивый). */
body::before{
  content:"";position:fixed;inset:0;z-index:-1;
  background:
    radial-gradient(1100px 600px at 82% -10%,rgba(79,70,229,.10),transparent 60%),
    radial-gradient(900px 500px at 6% 6%,rgba(37,99,235,.07),transparent 55%),
    var(--bg);
}

/* Доступность: видимый фокус с клавиатуры (обе страницы). */
a:focus-visible,button:focus-visible,select:focus-visible,input:focus-visible,summary:focus-visible,[tabindex]:focus-visible{
  outline:2px solid var(--brand2);outline-offset:2px;border-radius:6px;
}

/* Тосты-уведомления (общий компонент). */
.toast-wrap{position:fixed;left:50%;bottom:22px;transform:translateX(-50%);z-index:200;display:flex;flex-direction:column;gap:8px;align-items:center;pointer-events:none}
.toast{background:var(--card2);border:1px solid var(--line2);color:var(--text);border-radius:12px;padding:11px 16px;font-size:14px;box-shadow:0 18px 44px -18px rgba(0,0,0,.7);opacity:0;transform:translateY(10px);transition:opacity .2s,transform .2s;max-width:90vw}
.toast.in{opacity:1;transform:none}
.toast.ok{border-color:rgba(52,227,168,.4)}
.toast.err{border-color:rgba(248,113,113,.5)}

/* Skeleton-загрузка (общий компонент). */
.skel{position:relative;overflow:hidden;background:var(--card);border:1px solid var(--line);border-radius:18px;min-height:120px}
.skel::after{content:"";position:absolute;inset:0;transform:translateX(-100%);background:linear-gradient(90deg,transparent,rgba(255,255,255,.06),transparent);animation:egShim 1.3s infinite}
@keyframes egShim{100%{transform:translateX(100%)}}

@media (prefers-reduced-motion: reduce){
  *,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}
  .skel::after{animation:none}
}


/* Инлайн-спиннер для кнопок (оплата, возврат) — чтобы процесс не выглядел зависшим. */
@keyframes ldr-spin{to{transform:rotate(360deg)}}
.ldr{display:inline-block;width:15px;height:15px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;vertical-align:-2px;margin-right:7px;animation:ldr-spin .6s linear infinite}
button[disabled]{cursor:progress}
