.welcome-dashboard {
    position: relative;
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    height: 100%;
    width: 100%;
    box-sizing: border-box;
    padding: clamp(16px, 3vh, 36px) clamp(12px, 3vw, 32px);
    overflow: hidden;
    text-align: center;
    gap: clamp(16px, 3vh, 32px);
    animation: fadeIn 0.5s ease-out;
    min-width: 0;
    min-height: 0;

    &::before {
        content: '';
        position: absolute;
        inset: -50%;
        background-image:
            repeating-linear-gradient(
                0deg,
                transparent,
                transparent 39px,
                rgba(59, 130, 246, 0.03) 39px,
                rgba(59, 130, 246, 0.03) 41px
            ),
            repeating-linear-gradient(
                90deg,
                transparent,
                transparent 39px,
                rgba(59, 130, 246, 0.03) 39px,
                rgba(59, 130, 246, 0.03) 41px
            ),
            repeating-linear-gradient(
                45deg,
                transparent,
                transparent 79px,
                rgba(59, 130, 246, 0.015) 79px,
                rgba(59, 130, 246, 0.015) 81px
            );
        mask-image: linear-gradient(
            to bottom,
            rgba(0, 0, 0, 1) 0%,
            rgba(0, 0, 0, 0.7) 40%,
            rgba(0, 0, 0, 0.3) 70%,
            transparent 100%
        );
        -webkit-mask-image: linear-gradient(
            to bottom,
            rgba(0, 0, 0, 1) 0%,
            rgba(0, 0, 0, 0.7) 40%,
            rgba(0, 0, 0, 0.3) 70%,
            transparent 100%
        );
        animation: gridMove 60s linear infinite;
        pointer-events: none;
        z-index: 0;
    }

    > * {
        position: relative;
        z-index: 1;
    }

    .welcome-dashboard__hero {
        display: flex;
        flex-direction: column;
        align-items: center;
        justify-content: center;
        gap: 10px;
        width: 100%;
        max-width: 640px;
        min-width: 0;
        animation: slideUp 0.6s ease-out;
    }

    .welcome-dashboard__illustration-container {
        position: relative;
        margin-bottom: 4px;
    }

    .welcome-dashboard__illustration {
        width: clamp(96px, 16vh, 160px);
        height: clamp(96px, 16vh, 160px);
        filter: drop-shadow(0 10px 30px rgba(59, 130, 246, 0.2));
        color: #60a5fa;
        display: block;

        .icon-background {
            fill: #3b82f6;
            opacity: 0.15;
        }

        .monitor-base,
        .monitor-stand {
            fill: #3b82f6;
        }

        .screen-border {
            stroke: #3b82f6;
        }

        .wifi-dot {
            fill: #60a5fa;
        }

        .wifi-arc {
            stroke: #60a5fa;
            opacity: 0.7;

            &.arc-1 { opacity: 0.9; }
            &.arc-2 { opacity: 0.7; }
            &.arc-3 { opacity: 0.5; }
        }
    }

    .welcome-dashboard__title {
        font-family: Roboto, 'Helvetica Neue', sans-serif;
        font-weight: 600;
        font-size: clamp(1.4rem, 3.4vh, 2.1rem);
        margin: 0;
        background: linear-gradient(135deg, #60a5fa 0%, #3b82f6 50%, #2563eb 100%);
        -webkit-background-clip: text;
        -webkit-text-fill-color: transparent;
        background-clip: text;
        letter-spacing: -0.02em;
    }

    .welcome-dashboard__tagline {
        font-family: Roboto, 'Helvetica Neue', sans-serif;
        font-size: clamp(0.95rem, 1.9vh, 1.05rem);
        font-weight: 500;
        opacity: 0.85;
        margin: 0;
        line-height: 1.45;
    }

    .welcome-dashboard__description {
        font-family: Roboto, 'Helvetica Neue', sans-serif;
        font-size: clamp(0.8125rem, 1.7vh, 0.9375rem);
        opacity: 0.65;
        margin: 0;
        line-height: 1.5;
        max-width: 480px;
    }

    .welcome-dashboard__cta {
        margin-top: 8px;
        background: linear-gradient(135deg, #3b82f6 0%, #2563eb 100%);
        color: white;
        font-weight: 500;
        font-size: clamp(0.875rem, 1.8vh, 1rem);
        padding: 10px 28px;
        border-radius: 12px;
        box-shadow: 0 4px 16px rgba(59, 130, 246, 0.3);
        transition:
            transform 0.2s ease,
            box-shadow 0.2s ease;
        text-transform: none;
        letter-spacing: 0.01em;

        mat-icon {
            margin-right: 8px;
        }

        &:hover {
            transform: translateY(-2px);
            box-shadow: 0 6px 24px rgba(59, 130, 246, 0.4);
        }

        &:active {
            transform: translateY(0);
        }
    }

    .welcome-dashboard__cards {
        display: grid;
        grid-template-columns: repeat(auto-fit, minmax(min(140px, 100%), 1fr));
        gap: clamp(10px, 1.6vw, 18px);
        width: 100%;
        max-width: 820px;
        margin: 0 auto;
        padding: 8px 4px 4px;
        list-style: none;
        justify-items: stretch;
        align-items: stretch;
        animation: slideUp 0.7s ease-out 0.1s backwards;
        min-width: 0;
    }

    .feature-card {
        display: flex;
        flex-direction: column;
        align-items: center;
        text-align: center;
        gap: 8px;
        padding: clamp(12px, 2vh, 18px) clamp(10px, 1.5vw, 14px);
        background: linear-gradient(
            135deg,
            rgba(96, 165, 250, 0.08),
            rgba(37, 99, 235, 0.04)
        );
        border: 1px solid rgba(96, 165, 250, 0.18);
        border-radius: 14px;
        backdrop-filter: blur(8px);
        transform: rotate(-2deg);
        transform-origin: center;
        transition:
            transform 0.25s ease,
            box-shadow 0.25s ease,
            border-color 0.25s ease,
            background 0.25s ease;
        cursor: default;
        min-width: 0;

        &:nth-child(2) { transform: rotate(1.5deg); }
        &:nth-child(3) { transform: rotate(-1deg); }
        &:nth-child(4) { transform: rotate(2deg); }

        &:hover {
            transform: rotate(0deg) translateY(-4px) scale(1.04);
            box-shadow: 0 10px 24px rgba(59, 130, 246, 0.22);
            border-color: rgba(96, 165, 250, 0.4);
            background: linear-gradient(
                135deg,
                rgba(96, 165, 250, 0.16),
                rgba(37, 99, 235, 0.1)
            );

            .feature-card__icon-wrap {
                transform: scale(1.08);
                box-shadow: 0 6px 18px rgba(59, 130, 246, 0.4);
            }
        }
    }

    .feature-card__icon-wrap {
        display: flex;
        align-items: center;
        justify-content: center;
        width: 40px;
        height: 40px;
        border-radius: 11px;
        background: linear-gradient(135deg, #3b82f6, #2563eb);
        box-shadow: 0 4px 12px rgba(59, 130, 246, 0.3);
        transition:
            transform 0.25s ease,
            box-shadow 0.25s ease;
        flex-shrink: 0;
    }

    .feature-card__icon {
        font-size: 22px;
        width: 22px;
        height: 22px;
        color: white;
    }

    .feature-card__title {
        font-family: Roboto, 'Helvetica Neue', sans-serif;
        font-size: 0.9rem;
        font-weight: 600;
        margin: 0;
        line-height: 1.25;
        word-break: break-word;
    }

    .feature-card__desc {
        font-family: Roboto, 'Helvetica Neue', sans-serif;
        font-size: 0.78125rem;
        opacity: 0.7;
        margin: 0;
        line-height: 1.35;
        word-break: break-word;
    }
}

@media (max-width: 640px) {
    .welcome-dashboard {
        gap: 16px;

        .welcome-dashboard__cards {
            grid-template-columns: repeat(2, minmax(0, 1fr));
            max-width: 420px;
        }
    }
}

@media (max-width: 380px) {
    .welcome-dashboard .welcome-dashboard__cards {
        grid-template-columns: 1fr;
    }
}

@media (max-height: 620px) {
    .welcome-dashboard {
        gap: 12px;

        .welcome-dashboard__description {
            display: none;
        }

        .welcome-dashboard__hero {
            gap: 6px;
        }
    }
}

@media (prefers-reduced-motion: reduce) {
    .welcome-dashboard {
        animation: none;

        .welcome-dashboard__hero,
        .welcome-dashboard__cards {
            animation: none;
        }

        .feature-card,
        .feature-card:nth-child(n) {
            transform: none;

            &:hover {
                transform: translateY(-2px);
            }
        }

        .welcome-dashboard__cta:hover {
            transform: none;
        }
    }
}

@media (prefers-color-scheme: light) {
    .welcome-dashboard {
        &::before {
            background-image:
                repeating-linear-gradient(
                    0deg,
                    transparent,
                    transparent 39px,
                    rgba(37, 99, 235, 0.04) 39px,
                    rgba(37, 99, 235, 0.04) 41px
                ),
                repeating-linear-gradient(
                    90deg,
                    transparent,
                    transparent 39px,
                    rgba(37, 99, 235, 0.04) 39px,
                    rgba(37, 99, 235, 0.04) 41px
                ),
                repeating-linear-gradient(
                    45deg,
                    transparent,
                    transparent 79px,
                    rgba(37, 99, 235, 0.02) 79px,
                    rgba(37, 99, 235, 0.02) 81px
                );
        }

        .welcome-dashboard__title {
            background: linear-gradient(135deg, #2563eb 0%, #1d4ed8 50%, #1e40af 100%);
            -webkit-background-clip: text;
            -webkit-text-fill-color: transparent;
            background-clip: text;
        }

        .welcome-dashboard__tagline {
            color: #1e3a8a;
            opacity: 0.85;
        }

        .welcome-dashboard__description {
            color: #64748b;
            opacity: 0.85;
        }

        .welcome-dashboard__illustration {
            filter: drop-shadow(0 10px 30px rgba(37, 99, 235, 0.15));
            color: #3b82f6;

            .icon-background {
                fill: #2563eb;
                opacity: 0.12;
            }

            .monitor-base,
            .monitor-stand {
                fill: #2563eb;
            }

            .screen-border {
                stroke: #2563eb;
            }

            .wifi-dot {
                fill: #3b82f6;
            }

            .wifi-arc {
                stroke: #3b82f6;
            }
        }

        .feature-card {
            background: linear-gradient(135deg, rgba(37, 99, 235, 0.06), rgba(29, 78, 216, 0.03));
            border-color: rgba(37, 99, 235, 0.15);

            &:hover {
                background: linear-gradient(135deg, rgba(37, 99, 235, 0.12), rgba(29, 78, 216, 0.06));
                border-color: rgba(37, 99, 235, 0.3);
            }
        }

        .feature-card__desc {
            color: #475569;
            opacity: 0.85;
        }
    }
}
