:root {
    --v2-blue: #0057ff;
    --v2-blue-hover: #0046d4;
    --v2-ink: #0f172a;
    --v2-muted: #64748b;
    --v2-line: rgba(15, 23, 42, 0.1);
    --v2-card: rgba(255, 255, 255, 0.95);
    --v2-shadow: 0 24px 60px rgba(15, 23, 42, 0.14);
}

.reset-page,
.application-page,
.settings-page {
    background: #f6f8ff !important;
    color: var(--v2-ink) !important;
    position: relative;
    overflow-x: hidden;
}

.reset-page::before,
.application-page::before,
.settings-page::before {
    background-image:
        linear-gradient(rgba(15, 23, 42, 0.04) 1px, transparent 1px),
        linear-gradient(90deg, rgba(15, 23, 42, 0.04) 1px, transparent 1px),
        radial-gradient(ellipse 56% 46% at 10% 7%, rgba(0, 87, 255, 0.12), transparent 56%),
        radial-gradient(ellipse 46% 34% at 92% 85%, rgba(0, 87, 255, 0.09), transparent 52%) !important;
    background-size: 56px 56px, 56px 56px, auto, auto !important;
    opacity: 1 !important;
}

.reset-container,
.application-form,
.campaign-info,
.settings-section {
    background: var(--v2-card) !important;
    border: 1px solid var(--v2-line) !important;
    box-shadow: var(--v2-shadow) !important;
    backdrop-filter: blur(14px) !important;
    -webkit-backdrop-filter: blur(14px) !important;
}

.reset-container,
.application-form,
.settings-section {
    position: relative;
    overflow: hidden;
    isolation: isolate;
}

.reset-container::before,
.application-form::before,
.settings-section::before {
    content: "";
    position: absolute;
    inset: -1px;
    border-radius: inherit;
    padding: 1px;
    background: conic-gradient(from 0deg, rgba(0, 87, 255, 0.36), rgba(77, 159, 255, 0.08), rgba(0, 87, 255, 0.36));
    -webkit-mask: linear-gradient(#fff 0 0) content-box, linear-gradient(#fff 0 0);
    -webkit-mask-composite: xor;
    mask-composite: exclude;
    animation: v2SerpentBorder 5.4s linear infinite;
    pointer-events: none;
    z-index: 2;
}

.reset-title,
.application-title,
.settings-title,
.campaign-info-text h2,
.settings-section-title,
.settings-item-title,
.form-section-title,
.form-label,
.form-label-settings {
    color: var(--v2-ink) !important;
}

.reset-text,
.application-subtitle,
.campaign-info-text p,
.settings-subtitle,
.settings-item-description,
.form-hint,
.alert,
.form-checkbox span {
    color: var(--v2-muted) !important;
}

.form-input,
.form-textarea,
.phone-input-group,
.form-input-settings,
.phone-number,
.phone-flag-select,
select.form-input {
    background: #ffffff !important;
    color: var(--v2-ink) !important;
    border-color: rgba(15, 23, 42, 0.14) !important;
}

.form-input::placeholder,
.form-textarea::placeholder,
.form-input-settings::placeholder,
.phone-number::placeholder {
    color: #94a3b8 !important;
}

.form-input:focus,
.form-textarea:focus,
.form-input-settings:focus,
.phone-input-group:focus-within {
    border-color: var(--v2-blue) !important;
    box-shadow: 0 0 0 4px rgba(0, 87, 255, 0.14) !important;
}

.btn-settings-primary,
.reset-button,
.submit-button,
.application-submit-btn {
    background: linear-gradient(135deg, #0057ff 0%, #0b63ff 55%, #3b82f6 100%) !important;
    color: #fff !important;
    border-color: transparent !important;
    box-shadow: 0 16px 38px rgba(0, 87, 255, 0.34) !important;
}

.btn-settings,
.btn-secondary,
.platforms-option {
    background: rgba(15, 23, 42, 0.03) !important;
    color: #334155 !important;
    border-color: rgba(15, 23, 42, 0.14) !important;
}

.btn-settings:hover,
.btn-secondary:hover,
.platforms-option:hover {
    border-color: rgba(0, 87, 255, 0.35) !important;
}

.back-to-home {
    background: rgba(255, 255, 255, 0.96) !important;
    border: 1px solid rgba(15, 23, 42, 0.12) !important;
    color: #334155 !important;
    box-shadow: 0 12px 30px rgba(15, 23, 42, 0.12) !important;
}

.main-header {
    background: rgba(255, 255, 255, 0.9) !important;
    border-bottom-color: rgba(15, 23, 42, 0.08) !important;
}

@media (max-width: 768px) {
    .reset-page,
    .application-page,
    .settings-page {
        padding: 20px 12px 16px !important;
    }

    .reset-container,
    .application-form,
    .settings-section {
        border-radius: 18px !important;
        padding: 20px 14px !important;
    }

    .application-title,
    .settings-title,
    .reset-title {
        font-size: clamp(1.6rem, 6vw, 2rem) !important;
    }

    .form-input,
    .form-textarea,
    .form-input-settings {
        padding: 12px 13px !important;
        font-size: 16px !important;
    }
}

@keyframes v2SerpentBorder {
    to {
        transform: rotate(1turn);
    }
}
