body {
        font-family: 'Noto Sans KR', sans-serif;
        margin: 0;
        padding: 0;
        background: #f2f4f6;
    }

    .popup-wrap {
        max-width: 420px;
        margin: 0 auto;
        padding: 20px;
    }

    .bank-box {
        background: #ffffff;
        border-radius: 15px;
        padding: 25px;
        box-shadow: 0 4px 15px rgba(0,0,0,0.08);
    }

    .title {
        font-size: 22px;
        font-weight: 700;
        margin-bottom: 25px;
        color: #1a1f27;
        text-align: center;
    }

    label {
        font-size: 15px;
        font-weight: 600;
        color: #333;
        margin-top: 15px;
        display: block;
    }

    input {
        width: 90%;
        padding: 14px;
        border-radius: 10px;
        border: 1px solid #dcdcdc;
        margin-top: 6px;
        font-size: 16px;
        background: #fafafa;
    }

    .btn {
        width: 100%;
        background: #1e88e5;
        color: #fff;
        padding: 15px;
        border: none;
        border-radius: 12px;
        margin-top: 30px;
        font-size: 17px;
        font-weight: 700;
        cursor: pointer;
        transition: 0.2s;
    }

    .btn:active {
        background: #1565c0;
    }

    .info-box {
        background: #f9fafb;
        border-radius: 10px;
        padding: 15px;
        margin-top: 10px;
        border: 1px solid #e0e0e0;
    }

    .info-item {
        margin-bottom: 12px;
    }

    .info-label {
        font-size: 14px;
        color: #777;
    }

    .info-value {
        font-size: 16px;
        font-weight: 600;
        color: #222;
    }

    /* 화면 전환용 */
    .hidden {
        display: none;
    }

	.loading-spinner {
		position: fixed;
		left: 0;
		top: 0;
		width: 100%;
		height: 100%;
		background: rgba(0,0,0,0.45);
		display: flex;
		justify-content: center;
		align-items: center;
		flex-direction: column;
		z-index: 9999;
	}

	.spinner {
		width: 45px;
		height: 45px;
		border: 6px solid #eee;
		border-top-color: #3498db;
		border-radius: 50%;
		animation: spin 0.9s linear infinite;
	}

	.loading-text {
		color: #fff;
		margin-top: 15px;
		font-size: 15px;
		font-weight: bold;
	}

	@keyframes spin {
		to { transform: rotate(360deg); }
	}

	.swal2-confirm-custom {
		background-color: #3085d6 !important; /* 버튼 기본색 */
		color: #fff !important;               /* 글자색 */
	}

	.swal2-confirm-custom:hover {
		background-color: #2874b5 !important; /* hover 색상 */
		color: #fff !important;               /* 글자색 유지 */
	}