/* ============================================================
   Конвертный бюджет — визуальная тема (только оформление)
   ============================================================ */

:root {
    --bg: #0a0d16;
    --accent: #6d83ff;
    --accent2: #a06bff;
}

* {
    -webkit-tap-highlight-color: transparent;
}

html {
    scroll-behavior: smooth;
}

body {
    font-feature-settings: "cv02", "cv03", "cv04", "cv11";
    text-rendering: optimizeLegibility;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
    position: relative;
    overflow-x: hidden;
}

/* Мягкое амбиентное свечение на фоне */
body::before {
    content: "";
    position: fixed;
    inset: 0;
    z-index: -1;
    pointer-events: none;
    background:
        radial-gradient(60% 45% at 12% -8%, rgba(109, 131, 255, 0.20), transparent 60%),
        radial-gradient(55% 40% at 100% 8%, rgba(160, 107, 255, 0.16), transparent 60%),
        radial-gradient(70% 50% at 50% 110%, rgba(52, 211, 153, 0.08), transparent 60%);
}

/* Числа — моноширинные цифры, чтобы суммы не «прыгали» */
.tnum,
.font-bold,
.font-semibold {
    font-variant-numeric: tabular-nums;
}

/* --- Инпуты --- */
input,
select,
textarea {
    transition: border-color .18s ease, box-shadow .18s ease, background-color .18s ease;
}

input:focus,
select:focus,
textarea:focus {
    box-shadow: 0 0 0 4px rgba(109, 131, 255, 0.15);
}

/* Убрать стрелки у number-инпутов */
input[type="number"]::-webkit-outer-spin-button,
input[type="number"]::-webkit-inner-spin-button {
    -webkit-appearance: none;
    margin: 0;
}
input[type="number"] {
    -moz-appearance: textfield;
}

input[type="date"] {
    color-scheme: dark;
}

/* --- Кнопки: лёгкая тактильность --- */
button,
a[href],
label[for],
[role="button"] {
    transition: transform .12s ease, filter .18s ease, background-color .18s ease,
                border-color .18s ease, color .18s ease, box-shadow .18s ease;
}

button:active,
.tap:active {
    transform: scale(0.97);
}

form {
    margin: 0;
}

/* --- Нижняя навигация --- */
.nav-link {
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 2px;
    padding: 8px 0 6px;
    border-radius: 14px;
    font-size: 11px;
    font-weight: 500;
    color: #8a97ad;
}

.nav-link .nav-ico {
    font-size: 18px;
    line-height: 1;
    filter: grayscale(0.4);
    opacity: 0.85;
    transition: transform .18s ease, filter .18s ease, opacity .18s ease;
}

.nav-link.is-active {
    color: #fff;
    background: linear-gradient(180deg, rgba(109, 131, 255, 0.18), rgba(109, 131, 255, 0.06));
    box-shadow: inset 0 0 0 1px rgba(109, 131, 255, 0.25);
}

.nav-link.is-active .nav-ico {
    filter: grayscale(0);
    opacity: 1;
    transform: translateY(-1px) scale(1.05);
}

/* --- Появление контента --- */
@keyframes rise {
    from { opacity: 0; transform: translateY(8px); }
    to   { opacity: 1; transform: translateY(0); }
}

.animate-rise {
    animation: rise .4s cubic-bezier(.22, 1, .36, 1) both;
}

/* Мягкое свечение у «закрытых» прогресс-баров */
.glow-good {
    box-shadow: 0 0 12px -2px rgba(52, 211, 153, 0.55);
}

/* --- Кастомный скроллбар (десктоп) --- */
::-webkit-scrollbar {
    width: 10px;
    height: 10px;
}
::-webkit-scrollbar-thumb {
    background: rgba(255, 255, 255, 0.10);
    border-radius: 999px;
    border: 2px solid transparent;
    background-clip: content-box;
}
::-webkit-scrollbar-thumb:hover {
    background: rgba(255, 255, 255, 0.18);
    background-clip: content-box;
}

/* Плейсхолдеры чуть мягче */
::placeholder {
    color: #64708a;
}
