:host {
    --page-padding: 16px;
    --primary-color: #b64d24;
    --card-border-radius: 16px;
    --card-shadow: 0 4px 20px rgba(0, 0, 0, 0.08);
}

// 头部工具栏样式
.custom-toolbar {
    --background: white;
    --border-color: transparent;
    padding: 8px 0;

    ion-back-button {
        --color: var(--primary-color);
        --padding-start: 12px;
    }

    .custom-title {
        font-size: 18px;
        font-weight: 600;
        color: #333;
    }
}

// 主卡片样式
ion-card {
    margin: 16px;
    border-radius: var(--card-border-radius);
    box-shadow: var(--card-shadow);
    background: white;
    overflow: hidden;

    // 卡片头部样式
    .card-header {
        padding: 20px;
        display: flex;
        align-items: center;
        gap: 16px;
        background: linear-gradient(135deg, #f8f9fa 0%, #e9ecef 100%);

        .avatar {
            width: 64px;
            height: 64px;
            border-radius: 50%;
            object-fit: cover;
            border: 2px solid white;
            box-shadow: 0 2px 8px rgba(0, 0, 0, 0.1);
        }

        .user-info {
            flex: 1;

            ion-card-title {
                font-size: 18px;
                font-weight: 600;
                color: #333;
                margin-bottom: 4px;
            }

            ion-card-subtitle {
                font-size: 14px;
                color: #666;
                line-height: 1.4;
            }
        }
    }

    // 卡片内容样式
    ion-card-content {
        padding: 20px;

        .login-image {
            width: 180px;
            height: 180px;
            margin: 20px auto;
            margin-top: 0;
            display: block;
            border-radius: 16px;
            object-fit: cover;
        }

        ion-button {
            --background: var(--primary-color);
            --background-hover: var(--primary-color);
            --background-activated: var(--primary-color);
            --background-focused: var(--primary-color);
            --color: white;
            --border-radius: 10px;
            --box-shadow: 0 4px 12px rgba(182, 77, 36, 0.2);

            margin: 8px 0;
            height: 44px;
            font-size: 16px;
            font-weight: 500;
            text-transform: none;

            &.outline-button {
                --background: transparent;
                --color: var(--primary-color);
                --border-color: var(--primary-color);
                --border-style: solid;
                --border-width: 1px;
            }
        }

        .social-login {
            margin-top: 24px;
            text-align: center;

            .divider {
                display: flex;
                align-items: center;
                margin: 16px 0;
                color: #999;
                font-size: 14px;

                &::before,
                &::after {
                    content: "";
                    flex: 1;
                    height: 1px;
                    background: #eee;
                    margin: 0 16px;
                }
            }

            .social-icons {
                display: flex;
                justify-content: center;
                gap: 16px;
                margin: 16px 0;

                img {
                    width: 40px;
                    height: 40px;
                    border-radius: 50%;
                    padding: 8px;
                    background: #f8f9fa;
                    transition: transform 0.3s;

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

        .forgot-password {
            text-align: center;
            margin-top: 16px;
            color: #666;
            font-size: 14px;
            text-decoration: none;

            &:hover {
                color: var(--primary-color);
            }
        }
    }
}

// 备忘录卡片样式
.memo-card {
    padding: 20px;
    margin: 16px;

    .memo-title {
        font-size: 18px;
        font-weight: 600;
        color: #333;
        margin: 0 0 12px;
    }

    .memo-description {
        font-size: 14px;
        color: #666;
        margin: 0 0 20px;
        line-height: 1.5;
    }

    .tag-list {
        list-style: none;
        padding: 0;
        margin: 16px 0 0;
        display: flex;
        flex-wrap: wrap;
        gap: 8px;

        .tag-item {
            background: #f8f9fa;
            padding: 6px 12px;
            border-radius: 16px;
            font-size: 13px;
            color: #666;
            display: flex;
            align-items: center;
            gap: 4px;

            &:hover {
                background: #e9ecef;
            }
        }
    }
}